The advantage of this method is that errors are likely to be localised to the module which is currently under test.
Architectural Design
2. Description
3.
Narrative Description
Subprogram.
Stepwise Refinement is a process which takes an initial solution to a problem and refines each step until the algorithm is detailed enough for implementation in a suitable high level language.
Since programs can become very large and consequently can involve a number of programmers in the development process, it is useful to have a way of splitting up a program into components each of which can be handled separately. This uses a facility called a subprogram.
The process of developing a solution as a collection of interconnected subprograms is called
Modular Design. Each module has a single complete function and is implemented using the particular subprogram facilities of suitable high level languages.
The subprogram heading specifies the subprogram name, the type of each piece of data which is expected and the nature of each piece of data, i.e. whether it is simply to be passed down in order to aid the function of the subprogram or whether it. is a value which is being changed or calculated as part of the function of the subprogram.
A piece of data which is being passed to/from a subprogram is called a parameter. A parameter has an associated data type e.g. integer.
A parameter can be specified as either value (reference) or variable depending on whether the subprogram is allowed to change the parameter value permanently. This allows the program to protect certain parameter values against accidental change.
Since a subprogram can be used more than once within a system then it is necessary to allow different names to be used for formal and actual parameters.
e.g.Call Add Nos Using Nol, No2, Result
Exercise
Design an algorithm which will input 2 integer values, display a menu, read a choice and call an appropriate subprogram to add, subtract, divide, multiply these numbers returning the result of the calculation.
The Systems Development Cycle
System Testing and Implementation
Implementation is the stage where the system design is converted to a working system. This is arguably the most important stage of systems development, since a well designed system which is poorly implemented may. fail, whereas a badly designed system which is well implemented may survive.
The key to success is in planning for the implementation early in the design process, the main issues to be considered being :-
- site preparation
- hardware/software procurement
- system testing
- user education and training
- changeover
Outcome 6 of the Systems Development 2 Unit includes system testing, user education and training and changeover, and these topics are outlined in the following sections.
System Testing
System testing ensures that the system works accurately and efficiently before it is put into live operation.
All clerical and computer procedures are tested. Programs are tested individually and then in groups to verify program linkages. Hardware and communications links are also tested. The final stages of testing are the system trials involving user staff, this also being part of user training.
Test data for program testing should follow the guidelines of the Software Engineering Unit. System trials should be carried out in an operational environment, using test data from earlier time periods, or even parallel runs with the old system using live data.
The types of tests which should be considered for a system are as follows
Inputs- form design (ease of use)
- data transmission
- input validation and correction
Files- empty files
- addition/deletion/update
- access
- controls/security
Outputs- output documents/screens
- recipient understanding
ComputerProcedures- program linkages
- operating procedures
- recovery and security
- timings
Clerical Procedures- effects on other systems
- user understanding
- error correction
- timings
User Education and Training
The success of a new system is very much dependent on the attitudes of the people who use it.
Education aims to convince users of the benefits of the system to themselves, their department and the company. Management policy regarding re-deployment ,redundancy etc should be clearly stated.
while casualties may result from the introduction of new systems, there are also many positive aspects such as
- reducing very boring clerical activities
- upgrading of skills
- improving job satisfaction
- Education, therefore, complements and is a pre-requisite to training.
- Training enables users to understand their role in the new system, and prepares them for their own specific tasks. The users and people affected by the new system must be trained, and arrangements for release from normal duties must be made. Many different methods of training are available including
- formal lectures
- discussions/seminars
- computer-assisted training (tutorial packages,help facilities etc)
- user manuals/quick reference guides
Usually a combination of methods will be chosen with an emphasis on 'hands on' experience.
Timing and pacing of training is also important, too early and users may forget aspects or become disinterested, too late and users will become flustered.
Training does not cease with implementation, but must meet needs of new staff and system changes.
changeover
Implementation may involve change from a manual system to a computer system or from one computer system to an other. In both cases the system data and procedures require to be changed.
A major task prior to changeover is file conversion. The data in existing clerical or computer files must be converted to the new system files, and this can be a massive task involving the preparation of thousands of records using data from a number of different sources. It is also essential that the new system data is accurate or system credibility will suffer.
Changeover is the period from the start of live running to the time the DP department withdraws system support, other than for maintenance.
- Methods of changeover depend on the particular circumstances of a system development project, and fall into the following categoriesdirect changeover
- parallel running
- pilot running
Direct changeover is the complete replacement of the old system by the new in one move. This may be appropriate when system testing has been exhaustive and users have complete confidence in the new system. Also if the system is totally new and there is no comparable 'old system', or if there is no staff available to operate a parallel run.
Parallel running is the method of processing current data using the old and new systems at the same time, then cross-checking results. It may be seen as an extension of testing, and generates confidence among users, however it places a strain on resources.
Pilot running may be used in two ways, either in retrospective running of data from previous time periods, after results have been obtained from the old system, or as a staged changeover where a complete logical section of records is chosen and committed to the new system without parallel operation in the old system. when this section is operating satisfactorily the remaining records are transferred.
The end of the changeover is signified by user acceptance of the new system. System performance must meet acceptance criteria previously established. Acceptance criteria would relate to factors such as response times, degree of reliability and tolerable error rate.
Test Narrative
An incremental development approach will be taken. This will involve each module being designed, coded and tested in turn before moving onto the next. This Top Down approach will allow newly written modules to fit naturally into the module hierarchy. Test stubs will be used to simulate the calling of modules which have not yet been coded.
.
Interviewing
Interviewing is better than questionnaires for gathering certain information
because you could see the interviewee facial expressions. Also one other advantage is that in an interview you can hear the response of the interviewee has to say. One disadvantage about the interviewing is that it takes long of time. But couple of things you would gain from the interview is that you would be gaining the trust in the interviewee, you would be making the interviewee feel important and it shows that you are interested. They will be able to give to the interviewer information that will be of value for the new system. If the interviewee says that the current system is unsatisfactory then you will need to look at the weak point of the current system and making sure that you don’t make the new system have similar problem as the current system. Interviewing is factual and you would get the answers to know questions right away. Some other problems in a interview is that there isn’t enough detail to know what’s happening in the job and needs to meet the interviewee to observe the body language. Interview is long but an questionnaire is quicker but it has less information.
Questionnaire
Questionnaires are useful when you are gathering a small amount of information from a large number of people. But if you are getting a lot of information from people then it will take you a lot of time to process the whole information which will take a lot of time. A questionnaire is quick if it is a small amount of information, it is simple but a questionnaire has a slow response. A questionnaire is quicker than an interview. Questionnaire is one of the best resources to get information from. Like documents they do have information but documents it may not be regularly updated. Examination of documents is factual and has a lot of information but depending on what you are looking for. In a questionnaires you wouldn’t get as much information as examination as documents. Some problems in a questionnaire is the person may not be as honest as the person would be in a interview, an questionnaire is too long and boring. Questionnaire is easy to analyze.
Study of forms and documents
Procedures manual is an already made source of information so all you got to do is read the information. Examination of documents is the quicker than interviewing and Questionnaires. Records are all factual like all the rest but one of the main things may be bad about is that the information may not be as accurate as a Questionnaire and Interviewing .
Input / Formatting / Validation - MS Access