Related Courses Widget
Top Rated Course
EBS 262 GENERAL PRINCIPLES AND METHODS OF TEACHING IN BASIC SCHOOLS
1( 1 REVIEWS )395 STUDENTSEBC 126- COMMUNICATION SKILLS
5( 1 REVIEWS )409 STUDENTS
Course Reviews
- EBS 262 GENERAL PRINCIPLES AND METHODS OF TEACHING IN BASIC SCHOOLS
1
Sir please there is not content on this course. And no PDF as well..ANYETEI ANGELEY
EBC 126- COMMUNICATION SKILLS5
GoodMICHAEL AGGREY
EBC 126- COMMUNICATION SKILLS5
GoodABAKAH MONICA
UNIT 4: SYSTEM DEVELOPMENT -(PROGRAMMING AND TESTING) WEEKS 7 & 8
The System Development Phase features a key step in the SDLC, that is building the program (software), which includes programming and testing. The previous phases lay the foundation for system development; the following phases ensure that the product is developed and functions as required. The output of this phase is a working software, ready to be deployed
PROGRAMMING/CODING
After getting the design or blueprint of the proposed system from the design phase, it is converted into a suitable computer program. This is known as programming or coding. It is the process of translating the system specification into program statements or codes. The programming is done to conform to the detailed design carried out at the system design phase. Depending on the nature of the project, the programming may be done by a number of programmers may be constituted to write the program. It may also be outsourced to a consultant whose job is exclusively to develop programs. In some situations too, a decision may be made to purchase already existing software, if it meets the requirements established by the designs.
Therefore programming sub-phase comes in when the organization decides on bespoke software instead of going for an off-the-shelf application package. A bespoke software refers to a tailored made software that matches exactly the client’s needs, it is designed to fit the client’s requirements. Bespoke software offers a variety of benefits over the off-the-shelf software, especially in customization, scalability and security.
An off the shelf application package on the other hand as the name suggests, is ready to use software right after it has been purchased. It is a product developed for the mass-market, which means it is expected to respond to the needs of as many users as possible. Though it may offer many more features than a bespoke software, unfortunately, off the shelf application package often does not meet the exact expectations of users.
Characteristics of High-Quality Programming
Though Coding methods vary from programming language to programming language the following are the fundamental the characteristics of high quality codes and should be noted if the program is to be developed in-house.
IN-HOUSE SOFTWARE
In as typical SDLC, the project team will be faced with the decision either to develop the software using their team members or they should buy an already made software. This is referred to as the make or buy decision. When they decide to develop the software themselves as part of the project, that software is called in-house or bespoke software. In-house software is a software developed within an organization for their specific use with their own resources, such as personnel, ICT equipment, etc. It is a tailored software developed with a specific organization’s needs in mind.
Advantages of Developing Software
Disadvantages of Developing Software
APPLICATION PACKAGE SOFTWARE
An option of developing a system is by purchasing an application software package. Application package software, or simply an application package, is a collection of software programs that have been developed to be sold to third-party organizations. Application packages are generally designed to support commonly performed business functions and appeal to multiple types of user organizations. Although the package can be tailored to an organization’s specific needs by changing some parameters, the software itself is not designed with a given organization in mind, unlike custom-designed software.
Information systems developers have taken advantage of the fact that organizations have and do a lot of things in common. They have thus developed a lot of software for various uses such as for accounting, payroll, inventory, ticketing, billing, accounting systems, human resources software and enterprise resource planning (ERP) software and are being offered for sale. Thus organization may decide to opt for these prewritten and pretested software packages if they meet their requirements.
Advantages of Application Package Software
Disadvantages of Application Package Software
Factors to Consider When Evaluating an Application Software Package
specify the systems requirement of the software to ensure the optimal performance of the software. It is therefore essential for you to know that the software’s system requirements are in line with your ICT equipment and operating system.
price.
even the software. A good documentation is supposed to describe what the software does, how to use the software, how to recover from errors, etc.
supports that vendor of the package offers to their clients.
software from a trustworthy source with a track record to deliver after sales support
and updates.
TESTING
Testing is an activity to check whether the actual results match the expected results and to ensure that the software system is defect free. The main principle of testing therefore, is to find defects by subjecting the software to different conditions for corrections to be effected. Before implementing the new system, series of test runs are done. Testing is very important for a successful system development.
Testing is done in a planned way by constructing test cases/data. Test data should contain both correct data and erroneous data and should test all possible situations that could occur. The output of the program for each test data is compared with the expected output to know whether there is any defect or not. If the output of the program matches the expected output, then there is no defect.
The role of users in testing is very important as they understand the nature of the data and how they expect the data to be processed within the system. Users are also in a position to come out with unusual and less common data, which are needed to test how the program performs under such conditions.
The following basic testings are done at this phase before a system is deployed:
Unit Testing: In programming, a unit may be an individual function or procedure. Unit test, therefore, is testing each program separately in the system. It thus denotes the testing of an individual unit. The goal of unit testing is to isolate each part of the program and show that the individual parts are correct and devoid of errors. The programmer usually performs unit testing.
Integration Testing: Testing the individual programs does not guarantee that the data passed between them is correct. Only by performing integration testing for programs can one ensure that the programs work together properly. Integration Testing is thus an extension of unit testing in which the individual modules of the program are combined and tested as a group. The interaction among the various subsystems of the system is tested. Integration testing is normally done after unit testing.
System Testing: System Testing checks complete end-to-end scenarios in a way a user would use the system. System testing is thus the testing of the whole system so as to determine if the units (modules) work together as desired. All processing options and outputs are verified by users and the IT project development team to ensure that the system functions correctly. System testing tests not only the design, but also the behaviour and even the expectations of the customer.
Acceptance Testing: An acceptance test is carried out to provide final certification that the system is ready to be deployed live. It is usually done at clients’ location, by the user, once all the bugs found in system testing phase have been fixed. The main purpose of acceptance test is not to find defects but to check whether the system meets the requirements of users for their organization to determine whether they should accept the delivery of the system. The system is accepted for installation when all stakeholders are convinced that the system meets the set objectives set at the analysis phase. In some cases (e.g., a major corporate or governmental system) acceptance testing can be very formal and encompass many days or even weeks of testing.
Alpha Testing
Alpha Testing refers to the system testing carried out by the test team within the developing organization (i.e. at the developer’s site). It is done by the team at the end of the software development phase and before beta testing is done with the users.
Beta Testing
Beta testing is the system testing performed by a select group of users. Beta testing takes place at customers’ sites, and involves testing by a group of customers who use the system at their own locations and provide feedback, before the system is released to other customers. Beta testing is often called ‘field testing’
Testing methods
Black-box and white-box testing are two common approaches to testing. Black-box testing is not an alternative to white-box techniques. The two approaches are likely to find different class of errors and thus both methods are used during SDLC.
Black-Box Testing
In black-box testing, the internal logic of the software is not looked into while testing. The testing is done by entering input data and checking whether the output obtained is per requirement or not. Black-box Testing therefore just focuses on inputs and output of the software system without bothering about internal knowledge of the software program. Here, test cases are designed from users’ requirements.
White-box testing
White-box testing, sometimes called glass-box testing or structural testing is a testing technique that designs test cases based on the information derived from the source code. Usually white-box testing is done by the developer of the program who knows what the code is and therefore the right person to generate test data. It provides more information on the tested object than Black-box testing. However, it is an expensive test method.
QUALITY ASSURANCE (QA)
An important activity that goes hand-in-hand with testing is quality assurance. QA is the review of system or software products and its documentation for assurance that the system meets the requirements and specifications. Software Quality Assurance (SQA) is a technique that includes procedures and tools applied by software professionals to ensure that software meets the specified standard for its intended use and performance. It reviews and audits the software product and its activities throughout the life cycle of system development. The main aim of SQA is to provide proper and accurate visibility of the software project and its developed product. The purpose of QA is to provide confidence to the customers through the constant delivery of products according to specifications.
Objectives of Quality Assurance
The objectives of conducting quality assurance are as follows: