You are on page 1of 32

Muhammad Salman Habib

Page 1

1/15/2009

Muhammad Salman Habib

Page 2

1/15/2009

Index
1. Introduction a. Goals and Objectives b. Statement of Scope c. Software Context d. Major Constraints 2. User Scenarios a. User Profiles b. Use-cases c. Use-case Diagrams d. Use-case Descriptions 3. Data Model a. Data Objects b. Relationships c. Complete Data Model 4. Functional Model and Description a. Class Diagrams b. Software Interface Description 5. Behavioral Model a. Events and States b. State-chart Diagram 6. Limitation and Constraints 7. Test Cases a. Classes of Test b. Expected Software Response c. Performance Bounds

Muhammad Salman Habib

Page 3

1/15/2009

Introduction
The goal of designing software for a “Day care center” is to provide a complete Day Care Management system, keeping the day care provider and clients in mind. It is essentially an electronic filing cabinet that maintains a complete record of clients and employee information. The clients are the customers that is, parents and children. The system maintains information such as parents and child address and their personal data in a database. The software system is modeled and designed such that it has the seamless integration between all feature based elements that makes it very user friendly. Users of the software have the ability to add/update/delete all information based on their access levels. Secure entry into the system is envisaged through all employees being identified by a unique login ID and given password. Family & child data collection is a fundamental requirement for all Child Care businesses. Our collection capabilities are robust and simple with an ease of use that makes the task of data entry quick and efficient.

a. Goals and Objectives:
The objective of the software is to build a tool for the use for a day care management With the following features: 1. Create data base for family and child information with features: Parent names, addresses, phone numbers, email addresses, emergency contacts, authorized pickups, Child Name, Birth Date, and Class. 2. Immunization tracking information: recording immunization types, physicals and dates. Classroom Tracking & Scheduling Classrooms, programs, activities schedules.

Muhammad Salman Habib

Page 4

1/15/2009

3. Waiting List & Potential Customer Tracking, Daily Reminders, upcoming appointments, contract renewals. 4. Customer Log Notes, Maintain records of correspondence with parents, children special need, incident reports, and more. 5. Login is required for all users. 6. Users be divided into groups and access is granted on a per group basis. 7. We aim to provide continuity throughout each phase of a project. 8. Account activity reports and receipt printing. Track each family’s balance including their child care billing history of registration fees, tuition charges, family discounts and payments received. Billing History, history of registration fees, tuition charges, family discounts and payments 9. Generate a report of all the expenses. 10.We also aim to design the software to be much user friendly, all the interfaces to be self descriptive and interactive.

b. Statement of Scope:
As per the requirements of the client, different functionality has been designed keeping in view the constraints of time and manpower. The major software inputs are the parents and child information and major outputs are billing forms, receipts etc. The software very closely matches the requirements laid down by the end users, viz. Employees, Administrators. It maintains a data repository containing the information related to each child. It has the required features of parent and child information, tracking each child for

Muhammad Salman Habib

Page 5

1/15/2009

information related to his/her done through interface which manages efficiently and thoroughly all issues related to child. There are requirements, which are desirable and would increase the scope of the final product if incorporated in the project. One such feature is incorporating additional features such making appointments and contract renewals through web based service, which would be added in near future, due to time constraints. All major functionality, which falls in the category of essential and desirable prioritization of the day care centre software, will be implemented with an attempt to model the future priority needs as well if time permits.

REQUIREMENT PRIORITIES
Requirement number Requirement Description reference Priority

R0

Secure login

Login, unique ID

Specification documentation template

Essential

R1

Secure login

Password, 6-8 alphanumeric only

Specification documentation template Specification documentation template Specification document template Specification document template

Essential

R2

Store child information

Child full-name, SSN, Birthday, Parent full name, SSN, address, emergency contacts Child ID, child name Immunization tracking, immunization type, date of immunization, due date, doctors name.

Essential

R3

Store parent information

Essential

R4

Child immunization

Essential

Muhammad Salman Habib

Page 6

1/15/2009

R5

Class

class activities, class schedules, class room tracking, instructor

Specification document Template Specification document template

Essential

R6

Expenses

building maintenance electricity

Essential

R7

Profile management

employee ability to change password

Specification document template

Desirable

R8

Child status

Active, inactive

Specification document template Group Decision

Essential

R9

Report

Customer log notes, correspondence records, child special notes, child immunization history, Appointment, contract Renewal SSN, name , address , phone number, gender, email address, birth date.

Desirable

R10 R11

Scheduling Information Employee information

Web

Future

Muhammad Salman Habib R12 Billing Information R13 Billing information R14 Security

Page 7 Tuition charges, Late fee, Specification family discount & payments, print balance Charging late fee for overdue payment Using electronic ID document template Specification document template System Access

1/15/2009 Essential

Future

Future

c. Software Context:
As per the requirements of the client, different functionality has been designed keeping in view the constraints time and manpower. The major software inputs are the parents and child information and major outputs are billing forms, receipts etc. The software very closely matches the requirements laid down by the end users, viz. Employees, Administrators. It maintains a data repository containing the information related to each child, parent. It has the required features of tracking each child for information related to each individual done through interface which manages efficiently and thoroughly all issues related to child development and needs. There are requirements, which are desirable and would increase the scope of the final product if incorporated in the project. One such feature is incorporating additional features such making appointments and contract renewals through web based service, which would be added in near future, due to time constraints. All major functionality, which falls in the category of essential and desirable prioritization of the day care centre software, will be implemented with an attempt to model the future priority needs as well if time permits.

d. Major Constraints:
There are few points that we have not covered like loss of unsaved data, any sort of security feature. No restoring facility has been provided. Our software system is not redundant that is there is no backup facility. The system also depends on the network that

Muhammad Salman Habib

Page 8

1/15/2009

is its speed. If the speed of the network is not sufficient there is a likelihood of slow response. DOTNET framework has to be installed on the web server since the software runs of DOTNET environment. And moreover we need a high performance web server for good performance.

Usage Scenario
a. User Profiles:
The user profiles are divided into three types in this system. 1. Parent: A parent will have the accessibility to view their child’s information and schedule. They are restricted to very low profile when compared to others. 2. Employee: An employee can view the billing information of all children along with viewing and updating the privileges given to parent. 3. Administrator: He can access, view, delete and update all the information available in the website. He is given all the privileges.

b. Use-Cases:
A Use-Case Diagram is used to depict the main aspects of the system and the ways a user can interact with the system. Separate use cases and their description follows the Use-case diagram below.

Muhammad Salman Habib

Page 9

1/15/2009

c. Use Case Diagrams:
Please refer the next page for the figure.
Manage Children

«uses» «uses» «uses» «uses» «uses» «uses» «uses» «uses» Employee «uses» «uses» «uses» «uses» «uses» «uses» «uses» Admin «uses» «uses»

Manage Classes

Manage Activities

Manage Child Immunization «uses» Manage child Schedule «uses» «uses» Login «uses» Parent Manage Parent Info

Manage Payments on Child A/C

Manage Billing on Child A/C

Manage Expenses

 This is the system use-case diagram that displays all the different tasks that are accomplished by the system. Following this, we will have brief description of each of these use-cases.

Muhammad Salman Habib

Page 10

1/15/2009

d. Use-Case Descriptions:
1. Manage Children:

«uses»

Employee

«uses»

Manage Children

Admin

Objective: Admin and Employee will be able to add, delete and update child
information.

Pre-condition: User has logged in successfully as Admin or Employee. Post-condition: NA Main Flow:
1. System displays a form with editable fields for child's information. For Add, it would be empty fields and for Edit child info, there will be child information for selected child 2. Admin/Employee fills out new child information or edits the existing child info [A1] 3. Admin/Employee hits submit button on the page 4. System saves the child information in database 5. System notifies the user

Muhammad Salman Habib

Page 11

1/15/2009

Alternative flow: A1
1. Admin/Employee presses delete button on edit child info page 2. System asks for confirmation on child delete 3. On confirm, system checks whether the child's account has any bills due 4. If payment is due on child A/C, System notifies the employee of due bill 5. On confirm system adds the amount in Day care Expenses table 6. System deletes the child from database 7. User is notified 2. Manage Class:

«uses»

Employee «uses»

Manage Classes

Admin

Objective: Employee/Admin can add, delete or update a class information. Pre-condition: User has successfully logged in as Employee/Admin Main Flow:
1. Employee/Admin can either select a class from dropdown list and modify the fields and edit it, or they can add a new class and finally click submit.

Muhammad Salman Habib

Page 12

1/15/2009

2. On submit, the system performs validation and adds the class to database or updates the class.

Alternative Flow:
1. Employee/Admin can select one class from drop down list, and can click delete button. 2. System asks for confirmation and on confirm, system deletes the class from database. 3. Manage Activities:

«uses»

Employee «uses»

Manage Activities

Admin

Objective: Employee/Admin can add, delete or update a activity. Pre-condition: User has successfully logged in as Employee/Admin Main Flow:
1. Employee/Admin can either select an activity from dropdown list and modify the fields and edit it, or they can add a new activity and finally click submit 2. On submit, the system performs validation and adds the class to database or updates the activity

Muhammad Salman Habib

Page 13

1/15/2009

Alternative Flow:
1. Employee/Admin can select one activity from drop down list, and can click delete button. 2. System asks for confirmation and on confirm, system deletes the activity from database. 4. Manage Child Immunization:

«uses» «uses»

Employee «uses»

Manage Child Immunization

Parent

Admin

Objective:
Employee/Admin can add child immunization information, Admin can also update or delete an immunization record

Pre-condition: User must have successfully logged in as an employee or admin Post-condition: Employee/Admin updates child's immunization information Main Flow:

Muhammad Salman Habib

Page 14

1/15/2009

1. System shows the user the child's immunization information. 2. When applying immunizations to the child, the Employee/Admin can add information about child's immunization info @ date, type of immunization, physicals... etc. and press submit.

3. System stores this information in database

Alternative flow:
1. Admin can also edit or delete an immunization entry 2. Select an immunization entry from the list, to edit, or click delete 3. System deletes or updates the information from database

5. Manage child Schedule:

Muhammad Salman Habib

Page 15

1/15/2009

«uses» «uses»

Employee «uses»

Manage Child Immunization

Parent

Admin

Objective:
Add or delete a class or activity in a child's schedule, A parent can only view child schedule, cant update it

Pre-condition: User has logged into the system as Employee or Admin, to view Parent
have to be logged in as parent

Post-condition: Employee/Admin can update child's schedule Main Flow:
1. Employee/Admin selects a class or an activity to the student's schedule 2. System checks if there is already another class existing at the same time 3. If there is no class at the same time then the class is added, activities have more priority than class 4. Information is stored in the database and user is notified of that

Alternative flow:
1. Parent can view the student schedule online

Muhammad Salman Habib

Page 16

1/15/2009

2. Parent logs in and chooses to view the child's schedule 3. system fetches the schedule information of that child from database and displays in proper format 6. Login:

«uses» «uses» Login Employee «uses»

Parent

Admin

Objective: Log the user into the system and direct him to the proper interface(webpage) Pre-condition: NA Post-condition: User is logged into a system and sees an Admin/Employee/Parent
interface

Main Flow:
1. System shows the user a login screen with editable boxes for Username, Password and a dropdown menu for category: Employee, Admin or Parent 2. User puts username and password and then selects a category from the dropdown list 3. User hits submit 4. System authenticates the username and password

Muhammad Salman Habib

Page 17

1/15/2009

5. System shows the proper interface as per selection, if the authentication is successful

Alternative Flow:
1. If the username and password don’t match, the system shows login screen again 7. Manage Parent Info:

«uses» «uses» Employee «uses» Manage Parent Info

Parent

Admin

Objective: Admin and Employee will be able to add, delete and update Parent
information.

Pre-condition: User has logged in successfully as Admin or Employee. Post-condition: NA Main Flow:
1. System displays a form with editable fields for parent's information. For Add, it would be empty fields and for Edit child info, there will be Parent information for selected parent

Muhammad Salman Habib

Page 18

1/15/2009

2. Admin/Employee fills out new child information or edits the existing parent info and selects the child(/children) the parent is associated with [A1] 3. Admin/Employee hits submit button on the page 4. System saves the parent information in database 5. System notifies the user

Alternative flow: A1
1. Admin/Employee presses delete button on edit Parent info page 2. System asks for confirmation on Parent delete 3. On confirm, system checks whether the Parent is the only parent for any children 4. If parent is the only parent for any child, System notifies the employee of it, no changes made to database 5. If that is not the case, System deletes the child from database 6. User is notified 8. Manage Payments on Child A/C:

«uses»

Manage Payments on Child A/C

Admin

Objective: Admin should be able to add update or delete a payment to a child's account Pre-condition: User must be logged in as an admin Post-condition: Admin user can add update or delete records for payment to a child
account

Muhammad Salman Habib

Page 19

1/15/2009

Main Flow:
1. Admin selects a child 2. System displays a button saying Add payment on top, and displays all the Payment entries below it, with edit and delete buttons [A1] 3. User goes to edit billing page with blank editable fields for add entry or editable fields with data for the selected record 4. User makes changes to the fields and hits submit button 5. System does the validation and adds an entry in the database 6. User is notified

Alternative Flow A1:
1. User selects delete button next to one of the payment records 2. The payment record is deleted from database 3. User is notified 9. Manage Billing on Child A/C:

«uses»

Manage Billing on Child A/C

Admin

Objective: Admin should be able to add update or delete a bill to a child's account Pre-condition: User must be logged in as an admin Post-condition: Admin user can add update or delete records for billing from a child
account

Muhammad Salman Habib

Page 20

1/15/2009

Main Flow:
1. User selects a child 2. System displays a button saying Add billing on top, and displays all the billing entries below it, with edit and delete buttons [A1] 3. User goes to edit billing page with blank editable fields for add entry or editable fields with data for the selected record 4. User makes changes to the fields and hits submit button 5. System does the validation and adds an entry in the database 6. User is notified

Alternative Flow A1:
1. User selects delete button next to one of the billing records 2. The billing record is deleted from database 3. User is notified 10. Manage Expenses:

«uses» Manage Expenses

Admin

Objective: Admin should be able to add update or delete expenses Pre-condition: User must be logged in as an admin

Muhammad Salman Habib

Page 21

1/15/2009

Post-condition: Admin user can add update or delete records for day care expenses into
the system

Main Flow:
1. System displays a button saying Add Expense on top, and displays all the expenses records below it, with edit and delete buttons [A1] 2. User goes to edit expenses page with blank editable fields for add entry or editable fields with data for the selected record 3. User makes changes to the fields and hits submit button 4. System does the validation and adds an entry in the database 5. User is notified

Alternative Flow A1:
1. User selects delete button next to one of the expenses record 2. The expense record is deleted from database 3. User is notified

Data Model

a. Data objects:
The major data objects that we are using in the system are basically the main entities that are described in the requirements. • • Child Parent

Muhammad Salman Habib • • • • • • Classes Activities Schedule Billing Payment Expense

Page 22

1/15/2009

We will describe them as classes in the next section and identify their essential attributes and essential operation that are performed on these objects.

b. Relationships:
We identify the relationships between two or more Data objects and describe them below:

c. Complete data model
-Manages * 1 * * activity * * * Parent * * * -Manages * -Manages * * -Manages -Manages -Manages * * Admin Employee -Manages -Manages -Manages * * * Employee * Expenses -Views * Parent -Views * -Views payment * schedule * * -has * * * * * billing Child

class

-Has -Has *

*

Muhammad Salman Habib

Page 23

1/15/2009

The next section will take each of these data object and describe them as a class, mentioning the important attributes and operations.

Functional Model and Description
a. Class Diagrams:
Here we have all the classes that we will consider for designing the system. We take care that all the Use-cases that we want to accomplish and all the operations can be performed by the use of following classes. 1.
child -SSN -Name -BirthDate -Gender -FirstContactParent +AddChild() +UpdateChild() +DeleteChild()

2. This is one of the actor classes
Parent -SSN -Name -BirthDate -Gender -LoginID -Password -Address -EmailAddress -PhoneNumber +AddParent() +UpdateParent ) ( +DeleteParent() +ViewChildrenSchedule() +ViewChildrenImmunization() +ViewBilling()

Muhammad Salman Habib 3. This is the other actor class
Employee -SSN -Name -BirthDate -Gender -LoginID -Password -Admin -Address -EmailAddress -PhoneNumber +AddEmployee() +UpdateEmployee() +DeleteEmployee() +ManageChildren() +ManageParent() +ManageClasses() +ManageActivities() +ManageSchedules() +ManageBilling() +ManagePayment() +ManageExpenses() +ManageImmunization()

Page 24

1/15/2009

4.
Class -ClassID -ClassName -Instructor -Description -Timing1 -Timing2 +AddClass() +UpdateClass() +DeleteClass()

5.
Activity -ActID -ActName -Instructor -Description -Timing +AddActivity() +UpdateActivity() +DeleteActivity()

Muhammad Salman Habib 6.
ChildSchedule -SchID -ChildID -ClassAct -ClassID -ActID +AddSchedule() +UpdateSchedule() +DeleteSchedule()

Page 25

1/15/2009

7.
BillingInfo -BillingID -BillingDescription -BillingAmount +AddBill() +UpdateBill() +DeleteBill()

8.
PaymentInfo -PaymentID -PaymentDescription -PaymentAmt +AddPayment() +UpdatePayment() +DeletePayment()

9.
ExpenseInfo -ExpenseID -ExpenseDesc -ExpenseAmt +AddExpense() +UpdateExpense() +DeleteExpense()

Muhammad Salman Habib

Page 26

1/15/2009

b. Software Interface Description:
Our software system is a simple, user friendly web based solution. It has no external system interfaces and no external machine interfaces. It has only a human interface that is a GUI(Graphical User Interface). GUI is basically the interface description of the software system contained in the requirement documentation. There are three types of human interfaces in our system namely employee, parent, administrator which will be interacting with the software system. Although we can have an external system interface by maintaining database in a different server but the depends on the size of the database

Behavioral Model and Description

The behavioral model indicates how software will respond to external events or stimuli. It depicts the dynamic behavior of the system as a function of specific events and time. These specific events are triggered by the actors who use the system. There are three types of actors in this system depending on their access levels. 1. Parent: A parent can login and only view class schedule, billing information and immunization information of his/her child. He cannot make any type of modifications to the information displayed. 2. Employee (Staff): An employee’s accessibility is also limited. An Employee can view and make changes to class schedules, activities, and child and parent information and also to immunization information.

Muhammad Salman Habib

Page 27

1/15/2009

3. Administrator: Administrator has no restrictions in accessing any type of information or updating it. He can manage the

a. Description for software behavior
To better understand the behavioral model of this system, the events which result in different states are listed below. The actors who trigger the particular event are also listed.

Events:
Event: Login User Actor: Parent/Employee/Administrator Event: View class schedule Actor: Parent Event: View Billing Information Actor: Parent Event: View Immunization Information Actor: Parent Event: View/Delete/Update Classes Actor: Employee/Administrator Event: View/Delete/Update Activities Actor: Employee/Administrator Event: View/Delete/Update Immunization Information

Muhammad Salman Habib Actor: Employee/Administrator

Page 28

1/15/2009

Event: View/Delete/Update Child Information Actor: Employee/Administrator Event: View/Delete/Update Parent Information Actor: Employee/Administrator Event: View/Delete/Update Billing Information Actor: Administrator Event: View/Delete/Update Payment Information Actor: Administrator Event: View/Delete/Update Expenses Information Actor: Administrator Event: Logout User Actor: Parent/Employee/Administrator

States:
A state is any observable mode of behavior and a state diagram depicts the actions taken as a consequence of a particular event. The whole system is divided into 3 states namely depending on the access levels. Two other states are also defined to enter and exit the system. The states are as follows: 1. Login user: By entering a valid user id, password and the type of user, he will gain access to the system.

Muhammad Salman Habib

Page 29

1/15/2009

2. Administrator: By entering valid login information, the user can enter this state and will be able to perform all the operations he can access and make changes to the database. Generally he has the control of the whole system. He can exit the system by logging out. 3. Employee: After logging into the system, an employee can manage the system depending on his access level. He has certain limitations in accessibility. Logging out of the system will take him to logout user state. 4. Parent: A parent can enter the system by entering valid user id and password. After entering the system, user can view his own child’s information. He cannot make any kind of changes to the database. Exits the system by logging out. 5. Logout user: User will be taken to this state once he logs out of the system. Here he can go back to login user state through re-login information.

Muhammad Salman Habib

Page 30

1/15/2009

b. Statechart Diagram:
Initial State

LogIn User Enter ID Enter Password Select user type

Administrator Home Employee Home Parent Home View Class Schedule View Billing Information View Immunization Information View, delete and Update Class Schedule View, delete and Update Immunization Information View, delete and Update Activities View, delete and Update Child Information View, delete and Update Parent Information View, delete and Update Class Schedule View, delete and Update Immunization Information View, delete and Update Activities View, delete and Update Child Information View, delete and Update Parent Information View, delete and Update Billing Information View, delete and Update Payment Information View, delete and Update Expenses Information

LogOut User LogIn again

Final State

Muhammad Salman Habib

Page 31

1/15/2009

Restrictions, Limitations & Constraints
• • The size of the database is restricted to few hundreds. The software doesn’t have any security features, network features or doesn’t have any compatibility for it. So software has to be further developed to deploy it network. • It is developed in such a way that the employee can work only on one user interface and therefore employee cannot open multiple interfaces and perform task simultaneously. • • Some applications can only be used by administrator e.g. change the fees structure of children, add or remove the employees etc. The Graphical User Interface (GUI) is planned to be developed in Java 1.5 or above and the minimum hardware requirements are: 1. Intel® Pentium® III processor (or higher preferred) 2. 256 MB memory 3. 20MB free disk space 4. Windows 2000/Xp/Vista

Validation Criteria
The validation criteria for the software system is such that the information provided in the fields is checked for the correct format and if any information of child or parent is found to be wrong or missing then it will not be able to enter the database. Business rules are validated that is: only the administrator can change certain things such as billing information, add and remove employee’s names etc. Each user has a unique ID and password provided by the administrator.

Muhammad Salman Habib

Page 32

1/15/2009

a. Classes of Tests:
The inputs are going to be entered erroneously to check the system performance. Basically test cases are going to be developed by using brainstorm sessions. This will help us to figure out behavior of system and performance of the system. Method of testing: • • • The system’s internal structure will be tested (white box testing) The overall system will be tested (black box testing) Specimen test cases: 1. Click add button to add the parent without his or her social security number. 2. Click staff information to add or remove the name of employee from the staff Login. 3. Click add button to add the child without his or her parent information.

b. Expected Software Response
This software will perform certain operations like Add, Remove or Update the detail Information of child, parent, employee, administrator etc. It will keep track of billing, Immunization and class activities. When searching for a particular child a unique id will be specified and all the information about the child will be displayed.

c. Performance Bounds
The major performance bound in our software system is the size of the database although this could be improved by using another external system interface. The performance of the software in terms of response time is at best immediately or at worst 20 seconds. A major factor pertaining to response time is the network speed. END OF Requirement Specifications Document