Computing Project P4 Guidelines
Computing Project P4 Guidelines
1. Introduction
This guide is based on the instructions given in the A Level Computing syllabus and Module 4 of the B&L Publishings A Level Computing CD. It is an attempt to help students understand the requirements and structure of Paper 4, the Computing Project. Best grades in Computing Project are possible if the students ensure not only the completeness of the project report but also the quality of its contents and presentation. It is thus very important to read carefully what is required and produce a professional-looking documentation that complies with the standards set in this guide, the syllabus and the Module 4 book.
2. The Project
The Computing Project is a major part of the course. The volume of work is considerable and students should not underestimate the time required to produce a high quality work. Students are at liberty to decide the difficulty level of their projects. There is a list of possible project topics in this guide, but it is by no means exhaustive and students are free to choose other topics. An important point here is not to choose a project topic that is self-penalizing. A topic that is too complex will be difficult for the student to complete in time, if at all. On the other hand, a topic that is trivial will not be able to fulfill syllabus requirements. It is very important the students choose a real end user with a real-life problem. This will ensure two things; it will enable the real interaction that is required in some sections of the project, and it will allow the student to experience the actual project development life cycle. Although Microsoft Access and Sun OpenOffice Base are recommended, students are free to choose the development tool for their projects. It is, however, important to understand that the teacher/resource person cannot be expected to be an expert on every development tool available in the market today.
C O M P U T I N G
P R O J E C T
G U I D E L I N E S
Section 1: Analysis
Requirements Definition
a) User Requirements
The user requires an easy to learn software that fulfills the following requirements.
----------------------------------------------------------------------------------------------------------------------------- -------------------
The document margins (top, bottom, left and right) should not be more than 1 inch. Documentation must be in single line spacing. The entire document must have page numbers (except the title page). Each section and sub section must be separated visibly by proper headings/separators. Documentation text must be either Left Justified of Justified. Only headings and Tables can be Center Justified. Avoid one line paragraphs and very long sentences. Make a proper title page at the beginning of the documentation. Make a Table of Contents with page numbers for reference. All printing must be clear and visible. The screenshots must clear and large enough for the contents to be readable. 17. Print your report document on both sides of paper. This will reduce the size of the printed report and make it easier to mark. The final printed report must have a title page listing the following: a. Candidate Name b. Candidate Number c. Center Name d. Center Number e. Project Title 18. Leave at least four inch by three inch (width, height) space on the title page for identification sticker. 19. Use only ring or spiral binding. Please do NOT use tape or hard bindings.
4. Plagiarism
Computing Project is a complex and comprehensive undertaking. It is appreciated that students may seek help and guidance from sources other than their teacher during the course of the project development. However, it is imperative that students understand the consequences of unlawful copying of someone elses work. This is plagiarism and it is considered a serious offense on students part. In case a student is found committing plagiarism, he/she will be asked to redo the section(s) that are identified as copied work. In extreme cases, entire project could be cancelled and/or a letter from the School will accompany the project stating that the coursework could not be identified as original work and the school/teacher has elected not to mark it. In the later two cases, the student will receive a U grade in the Computing Project (component 4) resulting in an overall U grade.
Page | 2
C O M P U T I N G
P R O J E C T
G U I D E L I N E S
Stage Description
Marks
1
1.1
11
1.2
2
2.1
Design
Nature of The Solution 1. Data structure design along with any schematic to explain relationship among data. 2. Input (Forms) design. Hand drawn mockups or prototyping in the development tool being used along with a description of validation rules on each input field. 3. Output (Report) design. Prototyping or hand drawn mockups. 4. Menu/module design. Schematic in Visio or hand drawn diagram. 5. Schematic representation of Processes in the proposed system. Flow charts, DFD etc. Intended Benefits 1. Justification for the proposed system by identifying benefits to the end user, the organization. Limits of The Scope of The Solution 1. Limitations encountered due to hardware/software or lack of skills in required software. 2. Estimation of the amount of data that will be generated by the new system. 3. Estimation of database/file size. 7
11
2.2
2.3
3
3.1
18
C O M P U T I N G
P R O J E C T
G U I D E L I N E S
3.2 Testing 1. Development of a clear and accurate Test Strategy describing the purpose of testing. 2. Test Plan that allows testing for Valid, Extreme and Invalid data (minimum 15 different tests). 3. Test results with annotated screen dumps of each test conducted. 3.3 Implementation 1. Identification of an implementation plan. 2. Identification of any user training required. 3. Evidence of the new system being used by the end user (User acceptance). 4. Evidence of user testing. 3.4 Appropriateness of Structure And Exploitation of Available Resources 1. Discussion of the resources (hardware and software) that were available for developing the new system and how they were used. 2. A Log of problem encountered/milestones throughout the development of the solution.
Documentation
6
12
4.1 Technical Documentation 1. Proper presentation of the technical documentation with Table of Contents and section description. 2. Sections included: a. Specification of software used for system development and system implementation. b. Specification of hardware used for system development and system implementation. c. Data structure with annotation. d. Table/Entity Relationship Diagram. e. Input Forms with validation rules and field description. f. Reports with field description. g. List of Formulas used in the system. h. System Schematics (flow charts, DFD, module diagram etc.) i. Program listing fully annotated. 4.2 User Documentation 1. Proper presentation of the user documentation with Table of Contents and section description. 2. Sections include: a. System Introduction. b. Installation guide. c. Security procedure (login and passwords, if any). d. Input procedures along with validation rules guide. e. Reporting procedures. f. Backup and restore procedures. g. Troubleshooting guide with a list of common errors. h. A glossary of terms.
Evaluation
3
5.1 Discussion of The Degree of Success In Meeting The Original Objectives 1. Evaluation of Requirement Objectives in section 1.2 (7) along with reasons why (if) some of them were not met. Each evaluation point should be cross-referenced with the original objective and the section of project where the evidence can be found to support the claim. 5.2 Evaluation of User's Response To The System 1. Evaluation of user's comments on his/her experience of using the system. 2. Problems in the system identified by the user. 5.3 Desirable Extensions 1. Clear and impartial identification of merits and demerits of the new system. 2. Any possible extensions/improvements in the system. Page | 4
C O M P U T I N G
P R O J E C T
G U I D E L I N E S
C O M P U T I N G
P R O J E C T
G U I D E L I N E S
User Testing User Acceptance Appropriateness of Structure and Exploitation of Available Resources Use of Available Resources Problem Log Documentation Technical Documentation User Documentation Evaluation Degree of Success Evaluation of Users Response Desirable Extensions
3.3.3.User Testing 3.3.4.User Acceptance 3.4. Appropriateness of Structure and Exploitation of Available Resources 3.4.1.Use of Available Resources 3.4.2.Problem Log 4. Documentation 4.1. Technical Documentation 4.2. User Documentation 5. Evaluation 5.1. Degree of Success 5.2. Evaluation of Users Response 5.3. Desirable Extensions
Page | 6
C O M P U T I N G
P R O J E C T
G U I D E L I N E S
C O M P U T I N G
P R O J E C T
G U I D E L I N E S
Alternative Solutions Suggestion of (preferably) three alternative solutions to the one that is currently being used. Merits and demerits of each alternative solution mentioned above. Relate your discussion to the problem. Proposed Solution Which solution (from the above list) was chosen by you? How did your user/client agreed to it? (example: my client was interested in a low-cost solution. my client wanted the new system to be implemented within 3 months). Requirements Specification Functional Requirements What functionality is required from the new system? What type of data entry methods are required by the user? (example: user wants the new system to provide point and click data entry for fields such as Date, Gender, Payment Method). Does the user require any data backup facility? What type of output is required by the user? What type of interface is required? (Character based-for faster access, GUI based for better look and feel and low learning curve). Any special feature(s) that are required? (example: user wants the facility to export his data in .CSV format). Evidence of user approving the requirements. Input Requirements Name of each input category and the information that is to be input in each category. (example: Category: Student Fields: Student Name Address Phone) Evidence of user accepting the input requirements. Output Requirements Name of each report and the information that is to be displayed on each report. (example: Report: Daily Attendance Report Fields: Date Student ID Student Name) Evidence of user accepting the output requirements. Software Requirements Which software are required to develop the new system? A brief description of each software chosen and justification of the choice. IMPORTANT: Please identify which software is required by the user to run the system and which software will be used only by you for developing the system. Hardware Requirements A complete list of minimum hardware that is required to run the new system. This is the base requirement without which the system will not be able to run at all. A complete list of recommended hardware that is required to run the new system giving optimal performance. Be careful not to go too far. Page | 8
C O M P U T I N G
P R O J E C T
G U I D E L I N E S
TIP: Do some research on the Internet to find out the base and recommended requirements for the software that you are using. Design Nature of Solution How will you proceed with the designing of the new system? TIP: Its the stages given below (up to Schematics)! Data Structure Design Design a table that gives all the data structure that will be used in the new system. example: Key Field Data Type Size(bytes) Sample Data Constraints PK Student ID Long Integer 4 27 Numbers only Student Name String 45 Ali Akbar Khan Letters and space only Input Design Hand-drawn or computer generated mockups of each input form along with annotation of each control/field on the form. Evidence of user accepting the input design. Output Design Hand-drawn or computer generated mockups of each report along with annotation of each field on the report. Evidence of user accepting the output design. Menu/Module Design Menu and/or module structure of the new system. example: Module Design Student Information Module Student Fee Module Student Examinations Module -----------------------------------------------------example: Menu Design Main Menu Data Entry Forms Menu Student Information Form Student Fee Form Reports Menu Student Attendance Report Student Fee Report Exit System -----------------------------------------------------Schematics Diagrammatic representation of different aspects of the new system. Flow Chart (for all forms and reports in the new system) Entity Relationship Diagram (ERD) (for all tables in the new system) Data Flow Diagram (DFD) (to show the data flow in the new system) Process Diagram (to show how the processes will work in the new system) Intended Benefits What benefits will the new system bear for the user? TIP: Cost benefit, time saving, increase in productivity, increase in efficiency, customer satisfaction etc. Page | 9
C O M P U T I N G
P R O J E C T
G U I D E L I N E S
Limits of The Scope of The Solution System Limitations Things/processes that the new system will not do. (example: system will not handle accounts, system will not be able to handle more than 100,000 records etc.) File Size Estimation Estimation of data files generated by the system. example: Total number of bytes for 1 record = 250 10% slack = 25 Estimated number of records per year = 500 Total number of bytes for 500 records = 250 + 25 X 500 = 1250 Software Development, Testing & Implementation Software Development Code Listing Complete listing of the code which must be annotated. Use comments and indentation throughout the code to make it readable. Development of Database Show screen dumps in Design View and Data Sheet View of each table in the new system. Development of Input Methods Show screen dumps in Design View and Run View of each form in the new system and describe what each control/field on the form does. Development of Output Methods Show screen dumps in Design View and Run View of each report in the database and describe what each field on the report does. Development of Database Queries/Filters Show screen dumps in Design View and SQL View of each query in the database and describe what each query does. Testing Test Strategy What is the aim of testing the new system? What particular features of the new system do you intend to test? What kind of testing will you be performing yourself? (dry run, variable dumps, black box). Testing strategy should relate to the problem and the proposed solution. Test Plan A table showing the data that will be used for testing, its expected results, the actual results and the actions that were taken if the actual results didnt match the expected results. example: Test Field Test Type Test Data Expected Results Actual Results Action Evidence # 1 Student Name Valid Abid Ali Abid Ali Abid Ali Successful Page 97 2 Student Name Extreme Abid Ali Abid Ali Khan Abid Ali Kh Failed. I adjusted Page 98 Khan the field size to accommodate the data. 3 Student Name Invalid Abi45@d Abid Abid Successful. Page 99 Numbers were not entered. Page | 10
C O M P U T I N G
P R O J E C T
G U I D E L I N E S
Testing Provide screen dumps of at least 15 tests from the above table. Make sure these are cross referenced to the above table and annotated. Implementation Implementation Plan Which implementation method have you chosen? (example: parallel running) Give reasons for your choice. What resources/preparations, if any, are needed for the implementation? How did the implementation go? Were there any problems? If yes, document them. Evidence of system implementation. User Training Is there any need for user training? If yes, what methods have you identified for user training? Evidence of user training. User Testing Prepare a set of tests that user can perform on the new system. The user provides you feedback on whether the tests were successful or not. In case there were some problems, you must fix the problems with the system and communicate to the user that these have been fixed. User Acceptance A letter from the user, on the company letterhead, accepting the software stating that the software works as (or close to) what was originally decided. In case there are gaps in the original requirements and the new finished system these must be outlined. Appropriateness of Structure and Exploitation of Available Resources Use of Available Resources Briefly mention what type of hardware and software were available to you for developing the system. These are NOT the hardware and software that you mentioned in the Hardware/Software Requirements. This is the hardware/software at your home or school where you developed the system. Briefly discuss whether the available hardware and software was adequate and if you were able to take full advantage from it. Problem Log You need to clarify any problems that you have faced during the development of the new system. These problems must be mentioned in form of a chronologically arranged list. example: January 12, 2009: I started working on the user interface but the TAB control on my Access were not properly installed. I had to take it to the school labs administrator to get it fixed. Wasted two days. January 27, 2009: Database is complete but now I am finding a lot of validation errors in the coding. I used the original specifications to check the validation one by one and it took me four days worth of work to finally fix all validation errors.
Page | 11
C O M P U T I N G
P R O J E C T
G U I D E L I N E S
Documentation NOTE: The documentation section is supposed to be a separate section/booklet, but preferably should be with the rest of the documentation. However, you can use separators to separate it from the rest of the documentation. Technical Documentation Table of Content Introduction to the Technical Documentation Complete Requirements Section Complete Design Section Complete Schematic Section Complete Software Coding Complete List of Formulas/Validation Checks User Documentation Table of Content Introduction to the System How to Install the System? Detail description of the Menu System Detail description of Input Forms and Procedure (including validation restrictions) Detail description of Output Reports and their purpose How to take backup of data and how to restore it later on. A Troubleshooting Guide Glossary of Terms Evaluation Degree of Success Evaluation of each of the original requirement objectives and whether it has been successfully achieved. example: Objective: System should be able to input data while ensuring that invalid data is rejected. Result: Successfully achieved. Evidence: See Page 9 for Input Form Design. See Page 67 for validation code that restricts invalid data in the fields of the form. Evaluation of Users Response Impartial evaluation of what the user feels about the system. Talk about both good and bad reviews (if any). Desirable Extensions What other features would you like to see in the new system? You do not have to be able to develop these features. Feature list must be practical and related to the users requirements.
Page | 12