PROGRAMMING APPLICATION TASK – GRADE 12

First Phase – Definition, Investigation, Analyses and Design

Pupils Name	
	
School	
	
Date	

Slide showing some of the steps in the Systems Development Life Cycle (SDLC)

phase1

Phase 1

Phase 1

Phase 1

. 

TABLE OF CONTENT

1	Case Study: “A generalized School System”
2	Top Down (Hierarchal) Chart outline the school administration  system
3	Scope of the Project
4	Pupils Project – Phase 1

1	
Case Study: “A generalized School System” 

A  number  of scenarios have been outlined in this case study for you to consider.  Only one aspect of the system will be looked at in greater detail, namely, the class registration sub system.

This set of notes are an outline to the initial stages of a the project and should be supplemented with research on the internet/textbooks etc.

General School Administration System
The school runs an administration system which keeps a data base of pupils. The database is not networked.  The daily administration of updating records such as Class registration and Sports attendance.  The names of pupils are exported from the database to the spreadsheets at the beginning of each year.  New pupils are added or deleted manually from the spreadsheets during the course of the year. The disciplinary records are written up in a word document and filed manually.  The library system is a stand alone system – separate from the administration database.  

Processing of Class Registration
The Teachers call out the names of pupils from a printed class list, absent pupils are marked with a  x. Pupils who are present are marked with a tick.  A list of absentees are sent to the office where the school register is updated.  The teacher collects absentee notes from the pupils when they return to school, makes a note on the register that an absentee note has been received and files the note.

Processing of Sports Registration
At the beginning of the year pupils meet at various designated venues to register for a sport of their choice. The names, birth date and age are recorded.  The pupils give this information verbally to each staff member, who records the data on the excel spreadsheet. The staff (coaches of the teams) register the pupils and place the pupils in the relevant teams and positions.  The staff member keeps an attendance register at the sports practices.  He/She takes a print out of the list of pupils in the team, ticks the names and then records this information on the spreadsheet the next day

Details of the current library system. (Processing of Data)
Students and staff interested in making use of the library system must first register with the library by filling out a form and receiving a library card. The details on the form must be transferred to a computer database listing all members. A manual file of the original forms is kept by the Library as a backup. New books and periodicals are bought and these must be given an accession number and entered into a database. Old books and periodicals need to be removed from the database.  When a book is borrowed the Librarian has to take the members ticket and scan it and take the book and scan that so that the book is shown against the member’s name. Books are to be borrowed for 2 weeks for Students and 4 weeks for staff. The system needs to take account of the date and track the length of time the book is borrowed. if it has not been returned within the correct time a report needs to be generated to remind the member and calculate fines of 10p per day per book for the students only. (Staff are not fined) It is proposed that the Library Service should be totally computerized as far as possible to make the system most efficient

Examination Process
The marks as recorded by each teacher – either manually or on a spreadsheet are handed over to administration clerk, who records the marks in the database which contains the registration information of each pupil.  The database runs a query that calculates the average and determines the pass/fail status based on the marks. A report is printed from the database using the report options provided in the database.

2	
Top Down (Hierarchal) Chart outline the school administration  system

3	Scope of the Project
Given the “vastness” of implementing a computerized system for the school administration, this project will focus on the daily registration process.
4	Pupils Project – Phase 1

Register Class Program	
Problem Statement 

	The problem is clearly stated and described. Outlines the aspects that should be solved
	
	Scenario:
In the first period each teacher determines the pupils absent from class.  The teacher has a class register which is obtained at the beginning of the year from the administration office and which contains the list of pupils in his/her class.  Pupils who are absent are marked with a ‘x’ while pupils who are present are marked with a √.   A list of the pupils who are absent are compiled and are sent down to office each morning where the absentee-ism is processed.   

Each morning during the absentee-ism check, the teacher checks that absentee-ism notes are collected.  On receiving an absentee note, the teacher ticks off this information on his register and files the note.  

Problems Identified with current System
(a)	Duplication of data:
a.	Duplicate lists are generated. Each class must have its own list
b.	Changes in the class registers must be updated manually when new pupils are admitted to a class or a pupil leaves the school (class).
c.	The processing of data in the central administration office is another duplication

(b)	Errors/Accuracy.  Given the number of classes, there is a strong possibility that not all class teachers have accurately updated their records with changes.  There is no  check that the data sent by the teacher is same data received by the office.

(c)	Data not sent to the office must be followed up.

(d)	Immediate information on who is absent cannot be determined until the administration office has completed updating their records.

(e)	Possible loss of data, or inaccurate recording of data, possible when capturing the information in the central office.

(f)	Time Constraints:  The output of data is displayed until all the data has been updated. 
(g)	Administration office unaware if absentee letters, doctors certificates, etc  have been received. Critical information may not be passed on.

(h)	No immediate update on Pupils who leave school during the day

	

Registration lists

Administration office

Registration

Update register

Collate absentee
notes

Absentee-note file

Absentee lists

Absentee list request

Updated 
Class Register

Top Level Data Flow Diagram showing the various processes that make up the current system.

	
Key:
Rectangle: Entities                         Data Store                               Data Flow

Absentee-note file

Administration office

	
	A possible solution is given 
	
Clearly described and unambiguous – a clear overview of a possible solution is given.	•	Teachers log into a database of pupils names
•	The class lists per teacher is displayed
•	Teachers mark pupils absent
•	Subject teachers can determine if pupil absent during the course of the day
•	Teachers mark absentee notes received and type of absentee notes (letter from parents, doctors certificate, late note from school office
•	Teachers briefly note reason for absenteeism
•	Program determines number of days absent

Given the scope of the project – the system will be written and tested on a stand alone machine only.

	
	Requirements: 
Requirements clearly described / explained. 
	
	a.	Hardware:
a.	Each teacher will require a workstation, and peripheral devices, linked to the network
b.	Current entry level processor 1gig or higher, 512 ram of memory, preferably 1 Mb memory
c.	Entry level hard drive (80 gigabytes)

b.	Software:
a.	Current Operating System – MicroSoft Office 2000 Server
b.	Operating system – XP or higher.  Office 2000 professional can also be used.
c.	MicroSoft office suite (2000 plus) including Access database

c.	Program Requirements for Register Class 
•	Log into database 
•	Call up list of pupils assigned to register class 
•	Mark off register  -  remove tick if pupil absent 
•	Call up list of pupils who have been absent. Tick off if absent note received
•	Select type of absentee note 
•	and select or enter reason for absentee note  
•	Process data for checking if there’s a pattern of absentee-ism
•	Close system and log-off 
d.	Files Required:  
a.	Database containing teachers name, log in name, password and register class and log in date and time.
b.	Pupils database containing names and allocated classes.
c.	Absentee database with fields for date of absence, note received and basic details.
d.	Help text files.

e.	Future Developments
As this is the pilot phase of the project, the next phase will be to include the workstations into the network and to develop the remaining phases over a period of 12 months.

f.	Costing:
The costing of the project will be 
a.	The installation of 20 workstations at a cost of R3 500 per unit
b.	As the network cabling and server already exists, there will be no costing on this infrastructure.
c.	The development of this phase of the project is estimated at 80 hours at a price of R350.00 per hour.  
d.	The total costing is estimated at R98 0000.

	Evidence of collecting information regarding requirements e.g. questionnaires, sample documents, notes on interviews, etc. 

Information was gathered using the following methods
interviews 	
The system was discussed with teachers as a result of various comments made during class. These comments included aspects of inaccurate data, frustration, time constraints etc
Discussion amongst fellow pupils.	

questionnaires 	
Not used. 	

document search 	
The “document” used was readily available and consisted of a single data sheet as shown here.
Date:	
Class:	
Teacher:	

Pupil Absent	

1	

2 	

etc	

	

literature search 	
Visited the following websites to find comparative systems: Teach ICT.com. Not particular data was found on that site .
Etc…	

observation 	
As part of the a class, was able to observe the process on a daily basis 	

Specifications 	Overview of database design in terms of tables and fields 	
	The database will have the following tables, fields and relationships

pupilLastName
pupilFirstName
pupilMiddleName
pupilContactNo
classID

pupilID

pupilID
date
absent 
absentLetter
letterType
reason

absenteeID

teacherLastName
teacherFirstName
teacherTitle
teacherLogIn
teacherPassWord
classID

teacherID

Pupil Entity

Absentee Entity

Teacher Entity

Class/Teacher Entity

Class
teacherID

classID

	
	Inputs:  Description of inputs
All inputs clearly described in terms of user input and other sources of input.  	
	
1.	Log in Data
Log In Name	
Unique String	
String	

PassWord	
Alpha Numeric  	
Minimum 5 characters	

       Data Flow Diagram

 Database

Log in Procedure

Log-in request

verification

Get Log in name
Get password

2.	Pupil Data
pupil ID	
Unique ID Number: Primary Key	
Integer 	

pupil Last Name	
Text field 	
minimum 35 characters	

pupils First Name	
Text field 	
minimum 20 characters	

pupil Middle Names	
Text field  (More than one middle name can be stored)	
minimum 50 characters

pupils Contact Number	
Text field 	
minimum 18 characters	

classID	
AlphaNumeric chars: Foreign Key	
3 characters	

 Database

Registration  process

Request class list

Get pupils name
Get pupils class

Update 
Data 

De-select tick
Tick absentee note 
Enter type of note and reason

 File

File Note

Request data on absentees

Process Absentee’s 

Report file

       Data Flow Diagram for Registration process

Request approved

Absentee Data
absentID 	
Unique ID Numberl Primary Key	
Integer	

date	
Date type	
ShortDate	

absent	
Yes/No 	
Boolean	

absent letter	
Yes/No 	
Boolean	

reason	
Text Field	
255 characters

Teacher Data
teacherID	
Unique ID Numberl Primary Key	
Integer	

teacherLastName	
Text field 	
minimum 35 characters	

teacherFirstName	
Text field 	
minimum 35 characters	

teacherTitle	
Text field 	
minimum 4 characters	

teacherLogIn	
Text Field	
25 characters	

teacherPassWord	
Text Field	

classID

	

Class Data
classID	
Unique String	
Minimum 3 characters	

class	
Alpha Numeric  	
10 Characters	

		
	Format of input (e.g. date format yy/mm/dd). Format of input clearly specified for all inputs specified where formats are required.	
	
Input requiring a specific combination:
pupils Contact Number	
Area code – number
Cell code – number 	
021-9999999
082-9999999	

Date	
Short date – yyyy/mm/dd	
2008/01/01	

classID	
Character followed by 2 digits
Character must be A,B,C,D,E
Digits must be between 1 and 7 inclusive	
A1	

Boolean Fields	
Tick option 	

Password Fields	
Any combination of characters and digits	

Text fields	
Any combination of characters.	

	
	Processes: Clearly defined and satisfy all the requirements	
	See data flow diagrams which outline the process	
	Outputs:  Identify all the necessary outputs according to requirements 

	

Here I have used the document symbol chart  and the display console symbols (See flow chart)
•	Class list with pupils names and
•	Absentee columns 
•	Absentee note – type
•	Absentee reason
•	date
•	number of days absent
•	days since last absent
	
	Data validation indicated where applicable and meaningful 		
	Error messages associated with data validation identified where applicable 		
	Exception handling provided for where applicable 	

Design 	Data structures:   Class Diagrams	
	DatabaseClass	

-database:Connection
-dataRequest:Statement
-rs:ResultSet
-br:BufferedReader	

+readData:void
+updateData:void
+addData:void
+deleteData:void
+modifyData:void
+displayData:void	

Absentee Class

-pupilID:String
-pupilName:String
-pupilDOB:String
-AbsenteeDate:String
-currentDate:String
-daysAbsent: Integer.
-note:Boolean
-reason:String	

+setPupilID:void   
+setPupilName:void
+setPupilDOB:void
+setpupilAbsenteeDate:void
+setCurrentDate:void
+setDaysAbsent:void
+setNote:void
+setReason:void
+checkDate:boolean
+checkAbsentDays:boolean
+determineAge:int
+determineDaysAbsent:int
+determineDaysSinceLastAbsent:int
+getPupilID:String   
+getPupilName:String
+getPupilDOB:String
+getpupilAbsenteeDate:String
+getCurrentDate:String
+getDaysAbsent:int
+getNote:boolean

+toString:String

	
	All the data structures are appropriate 	
	GUI design: Input :  Appropriate input-components listed to support accurate / valid input of data in all instances where required
	
	Show Typical GUI Input design here (JOptionPane or GUI components: 	
	GUI design: Output  Appropriate output components identified in all instances where required	
	Show Typical GUI output design here (JOptionPane or GUI components):	

Advantages/Disadvantages of various information gathering techniques

interviews 	Detailed data, can change questions during process (not like questionnaire). 
Time-consuming, problems classifying/quantifying data 	
questionnaires 	Can reach a lot of people, quickly (comp to interview/observation); Numerical analysis possible. 
Questions may be misinterpreted; people may not respond at all or may do only some questions. 	
document search 	The data required for the system can be identified accurately. 
Documents may be lacking, out-of-date etc (interview could discover this) 	
literature search 	Can find descriptions/problems of previous implementations (saves work). 
Problem may not be described (or in detail). Again, working without experienced users. 	
observation 	Observations are independent of user bias (unlike interview/questionnaire).