Morgan Zintec
Computer Science Project guide
The project notes
 1. Selection Analysis and formulation
 a) Introduction
 What is this chapter going to cover?
 b) Background
 A description of the background to your problem. This can be a
 complete work of fiction but should fully describe the setting of
 your problem.
 c) Problem definition/ identification
 A description of the actual problem area. The problem should be
 one of sufficient complexity to enable you to do non trivial
 project.
 d) Analysis of the Existing system
 An in depth analyses of the existing system and the problem which
 it currently has. What are the reasons for these problems – the
 existing system may be a non computerized system which now
 needs updating.
 e) Objectives
 What do you hope to achieve. These objectives should relate to
 problems described in the previous section. This is an important
 section because you will later be evaluating your project to see if
 your objectives have been achieved.
 f) User interface of the existing system
 What is the form of interaction with the user of the existing system
 i.e. who does what…. With what….and How….?
 Summary
 Summarize the whole chapter and introduce the next chapter.
2. Solution to the problem
 Overall plan
 Introduction
 Is the sequence of tasks going to be? What decisions are you going to
 make?
 a) Alternative methods
 An evaluation of the alternative methods of solution …. are you
 going to purchase ready made software? Are you are going to hire
 programmers to write your programs? ….are you going to write
 the program yourself?
 High or low level languages? Which programming language?
 What data is going to be stored? What sort of file structures – serial
 or random access (recommended)
 b) Justification
 Your decisions … and you need to justify the choices in the
 previous section…
 Summary
 Summarize the whole chapter and introduce the next chapter.
3. Design Methodology
 a) Design Inputs/ Outputs
 Design of data capture. How is it going to be done? DDE or data
 capture forms. Any special hardware needed e.g. bar code readers?
 Design of data entry screens if data is to be entered at the
 keyboard.
 What data will be output? Screen output needs to be designed.
 Printed output needs to be designed.
 b) Design processes
 What processing of data will need to be carried out? Describe it.
 Will there be any searches or sorts possible? Any number
 crunching to be done…
 Draw data flow diagrams for your system.
 c) Modular Design
 Split up your task into discrete modules. What units ( libraries of
 subroutines) are you going to be using? A good idea use your own!
 d) Design Data structure
 What files will be store? A description of the design of your
 records. What fields will be stored and what type will each field
 be? Did you use any special codes in any of the fields?
 e) Design user interface
 How will the user interact with your program? Will there be a GUI
 or a menu interface? What is the hierarchy of the menus?
 f) Testing Strategy
 You need to devise a strategy for testing your project. Describe
 how the will be done. Use “test harness” programs to test
 subroutines. Devise test data and expected results for the individual
 programs. Devise a test scenario with expected outputs.
 Summary
 Summarize the whole chapter and introduce the next chapter.
4. Implementation
 a) Evaluation of tools etc
 Describe the main tools of your program i.e. loops, arrays,
 recursion, procedures, functions. Did you use specific data
 structures like queues, stacks, linear lists? …. Why not?
 What methods did you use for example deleting records?
 b) Justification
 …….. and justify why you needed to use them in the context of
 your program.
 c) Effective Solution
 Don’t worry about this one. It is the moderator to say whether your
 solution is good ( or not)
 d) Technical documentation
 A list of units and what procedures are contained in them
 A list of all procedures and functions used and what each one does.
 A full listing of the variables and constants used, giving their types.
 Pseudocode is vital here ( or flowcharts if you prefer!!!)
 A full listing of the program goes here. Make sure it is fully
 annotated with plenty of comments
 e) User manual
 Instructions for the user
 For installing and running your system
 Try to attain a professional look to your manual.
 Summary
 Summarize the whole chapter and introduce the next chapter.
5. Testing and Evaluation
 Introduction
 Say what you are going to do.
 a) Discussion of results
 An analysis of results of your testing. Give details of any
 alterations that needed to be made to the program for any failed
 tests. It would be tactful ( and probably honest) to make sure that
 some of the test runs did not succeed!
 b) Evaluation
 Does your finished project solve problems originally given? Have
 you achieved the objectives stated in section 1? Make this a
 substantial section if you can.
 c) Limitations and strengths
 Has your program got any limitations which you have encountered.
 These may be due to limitations of the programming language used
 or due to the program which you have written. What are the
 strengths of you program?
 d) Recommendations
 Are there any developments which you would like to make to your
 program but did not have the time? What future developments
 would you like to see to your new system. For example extra data
 stored, new process added etc …… networks, internet etc ……
 Summary
 Summarize the whole chapter and introduce the next chapter.
Ad references and the evidence of the existing system
 Nyamukachi © 2024