View
81
Download
0
Category
Preview:
Citation preview
Specification Document
April 15, 2011
Deborah Obasogie
XYZ Training Institute
i
TABLE OF CONTENTS
Project Overview: ....................................................................................................................................... 1
Project Name: ......................................................................................................................................... 1 Project Company:.................................................................................................................................... 1 Project Purpose:...................................................................................................................................... 1 Project Description: ................................................................................................................................ 1 Project Start Date: .................................................................................................................................. 1 Project End Date: .................................................................................................................................... 1
Prepared By: ....................................................................................................................................... 1 Prepared Date: .................................................................................................................................... 1
Project Scope ............................................................................................................................................. 1 Project Goals and Objectives ................................................................................................................. 1 Project Critical Success Factors .............................................................................................................. 2 Project Budget ....................................................................................................................................... 7 Project Funding ...................................................................................................................................... 7
Project High Level Requirements ................................................................................................................ 7 Functional Requirements ........................................................................................................................ 7 Nonfunctional Requirements .................................................................................................................. 8 Project Deliverables ............................................................................................................................... 8
Project Conditions ...................................................................................................................................... 9 Project Assumptions .............................................................................................................................. 9 Project Constraints ................................................................................................................................. 9 Project Risks ......................................................................................................................................... 10
Stakeholder Analysis ................................................................................................................................. 11 Roles and Responsibilities ......................................................................................................................... 11 Project High-level Approach and Business Design .................................................................................... 13
System Decomposition Diagram (Existing System) ............................................................................... 13 Process Flow Diagram (Existing System) ............................................................................................... 14 System Decomposition Diagram (New System) .................................................................................... 15 Process Flow Diagram (New System) .................................................................................................... 16
Use Case Analysis ...................................................................................................................................... 17 High-level Use Case Diagram ................................................................................................................ 17 Use Cases .............................................................................................................................................. 18
Mocks-up of User Interaction: .................................................................................................................. 20 Data Analysis & Logical Data Model.......................................................................................................... 29
Business Rules ....................................................................................................................................... 30 Assumptions ......................................................................................................................................... 30
High-level Architecture Diagram ............................................................................................................... 31 System Architectural Layers .................................................................................................................. 31 Three-Tier Client-Server Database ........................................................................................................ 32 How Layers Communicate With Each Other ......................................................................................... 32 Benefits of System Architectural Layers................................................................................................ 32
XYZ Project
1
Project Overview:
Project Name: XYZ Project.
Project Company: XYZ Training Institute.
Project Purpose:
XYZ would like to automate the process of tracking, historic
information, data analysis, marketing of student data. Currently
they do not have the ability to systematically perform these
functions on student data.
Project Description:
XYZ is a new company that provides training in various subject
areas including Project Management, Microsoft Products, and
Programming languages Java and C++. Currently they use MS
Excel to track the student enrollments. XYZ management would
like to develop a system that would allow them to enroll students,
track the history of a given student and their performance in the
classes that they completed and currently enrolled. They want to be
able to manage student information, course information, manage
course offerings (classes).
Project Start Date: January 4, 2010 Project End Date: June 7, 2010
Prepared By: Deborah Obasogie Role: Project Manager
Prepared Date: December 1, 2009 Version: 1.0
Project Scope:
Project Goals and Objectives:
Goals Objectives
1. To make it easy to enroll students, track the enrollments and
potentially run the reports to strategize the offerings in the future
by summer semester July 5, 2010 within budget.
2. To make it easy for the advisors to provide information to the
potential students.
3. To run reports to understand what kind of students take what
classes and hence market to the right audience.
To increase the efficiency
and
effectiveness
of student
data by 80%
within 1 year.
XYZ Project
2
Project Critical Success Factors:
Develop an enrollment management system that will provide:
A process to enroll students and track their enrollments.
A process to run reports that identify “what kind of students take what classes”.
A process to “provide information to the potential students”.
A mechanism that holds and manages the following data:
Student information:
Name
o First
o Last
Address(es)
o Street
o City
o State
o Zip
Social security number
Marital Status
Birthday
Phone(s)
Email(s)
Emergency contact(s)
o Name
o Phone
Race
Religion
Gender
Citizenship
Education(s)
o Degree
o Major field of study
o Degree completion year
o Institution
Name
Address
Street
XYZ Project
3
City
State
Zip
Occupation (s)
Employer(s)
o Name
o Address
Street
City
State
Zip
Vehicle(s)
o Year
o Make
o Model
o Plate state
o Plate number
Certificate program
Financial aid lender
Work study employer
Student enrollment information:
Enrollment date
Course offerings (classes)
o Session
Month
Year
o Session Period
Start date
End date
o Day
o Time
Start time
End time
o Instructor
o Room
Grade
XYZ Project
4
Course information:
Number
Title
Description
Prerequisite(s)
Credit hours
Instructor information:
Name
o First
o Last
Address(es)
o Street
o City
o State
o Zip
Social security number
Phone(s)
Email(s)
Emergency contact(s)
o Name
o Phone
Education(s)
o Degree
o Major field of study
o Degree completion year
o Institution
Name
Address
Street
City
State
Zip
Occupation (s)
Employer(s)
o Name
o Address(s)
XYZ Project
5
Street
City
State
Zip
Facility information
o Location
o Room number
o Room capacity
A process to provide Marketing with the following information for analysis purposes:
Student information:
Name
o First
o Last
Address(es)
o Street
o City
o State
o Zip
Social security number
Marital Status
Birthday
Phone(s)
Email(s)
Emergency contact(s)
o Name
o Phone
Race
Religion
Gender
Citizenship
Education(s)
o Degree
o Major field of study
o Degree completion year
o Institution
XYZ Project
6
Name
Address
Street
City
State
Zip
Occupation (s)
Employer(s)
o Name
o Address(s)
Street
City
State
Zip
Vehicle(s)
o Year
o Make
o Model
o Plate state
o Plate number
Certificate program
Financial Aid lender
Work study employer
Student enrollment information:
Enrollment date
Course offerings (classes)
o Session
Month
Year
o Session Period
Start date
End date
o Day
o Time
Start time
End time
XYZ Project
7
o Instructor
o Room
o Grade
Course information:
Number
Title
Description
Prerequisite(s)
Credit hours
Project Budget:
Breakdown Amount
1. Project Budget $750,000.
Project Funding:
All funding is provided by customer, XYZ Training Institute.
Project High Level Requirements:
Functional Requirements:
In Scope Out of scope
1. Tracking, historic information and analysis of student
data:
a. System should enroll students and track student
enrollments.
b. System should keep and access last two years and
going forward history. History information consists
of the student, enrollment and course information
listed above.
c. System should supply Marketing with the student
information for their purposes.
2. System should provide the following formatted reports:
a. Course offerings (Course Offerings Report).
b. List of students for each class (Enrollment Report).
c. List of all the classes that a student has taken and is
Student payments.
Company’s vendors.
3 other student performance reports
(to be completed in a
separate project.)
XYZ Project
8
registered currently (Grades and Student History
Reports).
Nonfunctional Requirements:
In Scope Out of scope
1. Performance: System must accommodate 2500 concurrent
users.
2. Security: Every user of system must have their own login
to see and use system.
A work breakdown structure (WBS) and project plan will be developed and supplied at a
later date to satisfy the requirements.
Project Deliverables:
Event or Deliverable Target Date Responsibility
Project charter completed Jan 8, 2010 Project Manager
Project charter approved Jan 19, 2010 Project Sponsor, Customer
Project WBS completed Jan 8, 2010 Project Manager
Project WBS approved Jan 19, 2010 Project Sponsor, Customer
Project plan completed Feb 19, 2010 Project Manager
Project plan approved Feb 29, 2010 Project Sponsor, Customer, Subject
Matter Experts
Project team assembled Mar 1, 2010 Project Manager
Project execution initiated Mar 1, 2010 Project Manager
Process providing
information to the potential
students.
Apr 16, 2010 Project Manager, Development team.
Process to enroll students
and track their enrollments.
Apr 30, 2010 Project Manager, Development team.
Report Process that identifies
“what kind of students take
what classes”.
May 14, 2010 Project Manager, Development team.
XYZ Project
9
Marketing process May 21, 2010 Project Manager, Development team.
Project execution completed May 28, 2010 Project Manager
Customer acceptance Jun 1, 2010 Project Sponsor, Customer, Subject
Matter Experts
Project closed out Jun 7, 2010 Project Manager
Project Conditions:
Project Assumptions:
There is a business need to develop a student management system.
All courses are owned by XYZ Training Institute.
Research supports automation would be beneficial to XYZ Training Institute.
Project Constraints:
Dimension Constraint
(state limits) Driver
(state objective) Degree of Freedom
(state allowable range)
Features
40-50% of high priority
features must be
included in release 1.0,
70-90% in release 1.1,
95-100% in release 1.3.
Quality
90-93% of user
acceptance tests must
pass for release 1.0, 94-
97% for release 1.1, 98-
100% for release 1.3.
Cost Budget overrun up to
10% acceptable with
approval by Customer
and Project Sponsor.
Schedule
Release 1.0 to be
available by 4/16,
release 1.1 by 4/30,
release 1.3 by 5/14.
Staff Maximum team size is
4 developers + 2
testers + specific
customer resources.
XYZ Project
10
(See the roles and
responsibilities
section.)
Project Risks:
# Risk Impact
Level
Probability
of
Occurrence
Notes Mitigation Plan
1 Lack of
customer
participation.
High Low Project requires
support of customer
and its resources for a
total student
management system
solution.
Dedicated
change
management
effort.
2 Deliverables
not finished
by due date.
High Low Success of project
depends on the
completion on certain
deliverables.
Project
monitoring to
realize prior to
due date. Add
additional
resources or
extend hours to
complete.
3 Staffing Medium Low Success of project
depends on ability to
staff with credible
experience in the
technical areas.
Use of IS
specialist for
expertise;
staffing
assessment at
project review.
4 Cost Medium Medium We developed an early
estimate of 98 and 99
costs. However, we do
not yet have a full
understanding of
sustained costs.
Develop a total
life cycle cost
estimate during
project as part of
the milestone
decision.
5 Schedule Medium Medium Current industry
practices indicate 18-
36 months were
required to develop
student management system.
Utilize project
management
approach to
plan, monitor
and control project.
6 Quality Unknown Low This risk factor will
depend on the results
of project events and
Continue to
understand
requirements for
XYZ Project
11
deliverables.
processes and
rigor.
7 Undefined
Reports
High High This risk factor will
depend on the
complexity of the 3
undefined reports.
Define
requirements for
reports as soon
as possible &
include effort
into estimated
project cost.
Stakeholder Analysis:
# Stakeholder Role Stake
1 Jim Logan Customer High. The person or department
requesting the project.
2 JoAnne Kline Project Sponsor High. Provides overall direction on
the project.
3 Coordinator, Barry
Rigler
Subject Matter Expert High. Knowledgebase for current
system.
4 Scheduler, Ann
Archibald
Subject Matter Expert High. Knowledgebase for current
process.
5 Student Subject Matter Expert High. User of need new system.
6 Advisor Subject Matter Expert High. User of need new system.
7 Instructor Subject Matter Expert High. User of need new system.
8 Account Executive Subject Matter Expert High. User of need new system.
9 Marketing Subject Matter Expert Medium. User of need new system
information.
Roles and Responsibilities:
Sponsor: Provides overall direction on the project. Responsibilities include: approve the
project charter and plan; secure Subject Matter Expert resources for the project; confirm the
project’s goals and objectives; keep abreast of major project activities; make decisions on
escalated issues; and assist in the resolution of roadblocks. Name Email / Phone
Director JoAnne Kline, XYZ Training
Institute
jkline@xyz.com/816-555-4441
Project Manager: Leads in the planning and development of the project; manages the project
to scope. Responsibilities include: develop the project plan; identify project deliverables;
identify risks and develop risk management plan; direct the project resources (team members);
scope control and change management; oversee quality assurance of the project management
XYZ Project
12
process; maintain all documentation including the project plan; report and forecast project
status; resolve conflicts within the project or between cross-functional teams; ensure that the
project’s product meets the store objectives; and communicate project status to stakeholders. Name Email / Phone
Deborah Obasogie, Solutions Consultants dobasogie@sc.com/913-444-1223
Team Member: Works toward the deliverables of the project. Responsibilities include:
understand the work to be completed; complete research, data gathering, analysis, and
documentation as outlined in the project plan; inform the project manager of issues, scope
changes, and risk and quality concerns; proactively communicate status; and manage
expectations. Name Email / Phone
Steffan Smith, Solutions Consultants ssmith@sc.com/913-444-1567
Monica Thomas, Solutions Consultants mthomas@sc.com/913-444-1789
Rita Bakes, Solutions Consultants rbakes@sc.com/913-444-1890
Tom Morgan, Solutions Consultants tmorgan@sc.com/913-444-8490
Customer: The person or department requesting the project. Responsibilities include: partner
with the sponsor or project manager to create the Project Charter; partner with the project
manager to manage the project including the timeline, work plan, testing, resources, training,
and documentation of procedures; work with the project team to identify the technical
approach to be used and the deliverables to be furnished at the completion of the project;
provide a clear definition of the business objective; sign-off on project deliverables; take
ownership of the developed process and software. Name Email / Phone
Jim Logan, XYZ Training Institute jlogan@xyz.com/816-555-3456
Subject Matter Expert: Provides expertise on a specific subject. Responsibilities include:
maintain up-to-date experience and knowledge on the subject matter; and provide advice on
what is critical to the performance of a project task and what is nice-to-know.
Name Email / Phone
Barry Rigler, XYZ Training Institute brigler@xyz.com/816-555-2134
Ann Archibald, XYZ Training Institute aarchibald@xyz.com/816-555-3876
XYZ Project
13
Project High-level Approach and Business Design:
System Decomposition Diagram (Existing System):
0
Enrollment System
2
Class Enrollment
3
Post- Enrollment
2.2
Withdraw From A
Class
2.3
Add A Class
2.1
Enroll In A Class
3.1
Create Enrollment
Lists
1
Pre-Enrollment
1.1.2.1
Create Course
Brochures
1.1.2.2
Create Section
Lists
2.1.1
Select Couse
2.1.2
Select Section2.1.3
Email Notification
2.1.1.1
Check Prerequisite
2.1.2.1
Check Availability
3.2
Update Student
Grade Card
3.3
Maintain Student
Information
3.2.1
Submit Grades
3.3.1
Update Personal
Details
1.3.1
Get Classroom
Information
1.2
Maintain Instructor
Information
1.3
Maintain Facilities
Information
1.1
Maintain Course
Information
1.1.2
Create Course
Lists
1.1.1
Set Up Course
1.1.2.2.2
Select Location
1.1.2.2.3
Select Instructor
1.1.2.2.1
Select Term
XYZ Project
14
Process Flow Diagram (Existing System):
Student
3
Post-
Enrollment
2
Class
Enrollment
1
Pre-
Enrollment
Spreadsheet
Administrator
Account
Executive
Advisor
Instructor
Enrollment
list
Enrollment
list
Registrar
Updated course, instructor, facilities, student dataBrochure informaton
Course information
Course forms
Course brochures
Course brochure, lists, forms: enroll, add, drop
Take class Add Class Drop class
Enrollment form
Add form
Drop formValidates class enrollment
Withdrawal
addition
Class enrolled
Class withdrawn
Class added
Confirms class enrollment
Withdrawal
Addition
Course offerings
Student selected classes
Submit grades
Enrollment list
Student final grades
Couse
list
Course list
Course list
XYZ Project
15
System Decomposition Diagram (New System):
0
Enrollment Management
2
Student Enrollment
3
Operational
2.1
Enroll Classes
1
Academic
3.6
Manage
Environment
1.3
View Enrollment
List
1.4
View Grades
1.2
View Course
Offerings
4.3
Store Student
History
4.1
Create Defined
Reports
4.2
Create Analysis
Data
4
Data Management
1.5
View Student
History
3.1
Manage Users
3.2
Manage Students
3.5
Manage Courses
3.4
Manage Instructors
1.6
View Defined
Reports
1.1
View Course
Catalog
1.7
View Analysis
Data
3.3
Manage Facilities
3.6.1
Set Up
Infrastructure
3.6.2
Set Up Hardware
3.6.3
Set Up Software
3.1.1
Set Up Logons
3.5.1
Create Course
Catalog
3.5.2
Create Course
Offerings
3.5.3
Create Enrollment
List
3.4.1
Submit Grades
3.4.2
Select Class to
Teach
4.4
Secure Data
4.5
Output Data
4.1.1
Get Report Data
4.2.1
Get & Format
Data
4.3.1
Store Data
4.3.2
ReStore Data
3.1.2
Set Up Profiles
XYZ Project
16
Process Flow Diagram (New System):
1
Academic
Views
2
Student
Enrollment
3
Operational
Management
4
Data
Management
Student AdvisorAccount
ExecutiveMarketing
Enrollment Lists
Grades
Output of data
Analysis data
Captured analysis data Catalog, offerings of courses, student history, report information
Information output
Course catalog & offerings
history of student information
Output of Information
Student grades data
Instructor
Course
Catalog
Registrar
Student
grades
Student
history Student history data
Student
reports Student reports data
Student selected course offerings
Course offerings approval
Selected course offerings
Enrollment confirmation
Output confirmation
Administrator
Enrolled course
offering
Submit grades
File updates
users
students
courses
instructors
facilities
Reports, analysis, student history data
Users
data
Students
data
Courses
data
Instructors
data
Facilities
dataUpdated user profiles
Updated students data
Updated courses data
Updated
facilities
data
Historical and analysis information
Enrollment
data
Select course to teach
Course information
Updated
instructors
data
Course
dataCourse Catalog data
Analysis
data Analytical data
reports, analysis, student history data outputs
logons, infrastructure, hardware, software, data security
XYZ Project
17
Use Case Analysis:
High-level Use Case Diagram:
Student
Enroll Classes
View Grades
Logon
Instructor
Account Executive
Advisor
Select Courses to
Teach
Submit Grades
Registrar
View Defined
Reports
View Analysis Data
Marketing
Maintain Course
Information
Maintain Student
Information
Maintain
Instructor Information
Maintain
Facilities Information
Create Defined
Reports
Store Student
History
Create Analysis
Data
Administrator
Course Catalog
Output Data
View Student
History
View Course
Offerings
View Enrollment
List
View Course Catalog
Manage Users
Manage Environment
Secure Data
View Student
History
XYZ Project
18
Use Cases:
Use Case Id UC001
Use Case Name Enroll Classes
Requirement Id Req001
Priority High
Description
To allow a student to enroll for course offerings in the current semester. The student can also update or delete course offerings if changes are made within the add/drop period at the beginning of the current semester.
Related Use Cases Output Data, Abandon Use Case
Sources
Primary Business Actor
Student
Other Participating Actors
Other Interested Stakeholders
Preconditions
1. The student is enrolled at XYZ Training Institute. 2. The student is a valid user with valid student id and password to use system. 3. The student has accessed XYZ Training Institute web site and has logged into the system from
the Logon Menu.
Triggers
Typical Course of Action
A. The student performs the Enroll Classes action.
B. The system verifies that the enrollment period has not expired according to business rule
BR005 – Course Enrollment.
C. The system displays the empty grid that’s populated with course offerings based on the
following actions:
Create an Enrollment
Update an Enrollment
Delete an Enrollment.
If the student selects “Create an Enrollment”, the Create an Enrollment subflow is executed.
If the student selects “Update an Enrollment”, the Update an Enrollment subflow is executed.
If the student selects “Delete an Enrollment”, the Delete an Enrollment subflow is executed.
D. Create an Enrollment
1. The system retrieves a list of available course offerings from the Course Catalog and
populates the grid with this list for the student to view.
2. The student selects by double clicking the desired course offering(s) from the list of
available offerings according to business rule BR001 – Course Offerings.
3. Once selections are made, the system creates an enrollment for the student containing
the selected course offering(s).
4. The Submit Enrollment subflow is executed.
E. Update a Enrollment
1. The system verifies that the add/drop period has not expired according to business rule BR006 – Add/Drop Period.
2. The system retrieves the student’s current enrollment (the enrollment for the current
XYZ Project
19
semester) from the Course Catalog and populates the grid with this list. 3. The student updates the course selections on the current selection by deleting and adding
new course offerings. The student selects the course offerings to add from the list of available course offerings. The student also selects any course offerings to delete from the existing enrollment according to business rule BR001 – Course Offerings.
4. Once selections are made, the system updates the enrollment for the student using the selected course offerings.
5. The Submit Enrollment subflow is executed. F. Delete an Enrollment
1. The system verifies that the add/drop period has not expired according to business rule BR006 – Add/Drop Period
2. The system retrieves the student’s current enrollment (the enrollment for the current semester) from the Course Catalog and populates the grid with this list.
3. The system prompts the student to confirm the deletion of the enrollment. 4. The student verifies the deletion. 5. The system deletes the enrollment. If the enrollment contains “enrolled in” course offerings,
the student is removed from the course offering according to business rule BR002 -Deleted Enrollment.
G. Submit Enrollment 1. For each selected course offering on the enrollment, the system verifies class availability
according to business rule BR003-Class Availability. 2. For each selected course offering on the enrollment, the system verifies that the student
has the necessary prerequisites according to business rule BR004 – Course Prerequisite. 3. For each selected course offering on the enrollment, the course offering is marked as 4. “enrolled in” in the enrollment according to business rule BR008 – Enroll Status. The
enrollment is saved in the system. 5. The system invokes the Output Data use case. The system displays the enrollment
containing the selected course offering(s) for the student, the confirmation number for the enrollment, and gives options to print, email or mail information.
Use case end here
Alternate Course of Action
1. Cancel a. The student performs the Abandon Use Case action. b. The system removes the changes make in this use case.
Use case ends here
2. Course Catalog System Unavailable. a. In Steps D1, E2 or F2 of the Basic Flow, the system is down, a message is displayed.
Use case ends here
3. Unfilled Prerequisites, Not Enough For Class, or Enrollment Conflicts a. In Steps G1 or G2 of the Basic Flow, Submit Enrollment, the system determines
prerequisites are not satisfied, that the course enrollment limit is not meet, or that there are conflicts with enrollments, the system will not enroll the student in course.
b. The system displays a message to select a different course. Use case resumes at Basic Flow of Action Steps D
4. Course Enrollment Closed a. The system determines that enrollment has closed, a message is displayed.
Use case ends here
5. Delete Canceled a. In Step F of the Basic Flow, Delete an Enrollment, the student decides not to delete an
enrollment, the delete is cancelled.
XYZ Project
20
Use case resumes at Basic Flow of Action Step C1
6. No Enrollment Found a. In Steps E or F of the Basic Flow of Action, Update an Enrollment or Delete an
Enrollment, the system is unable to retrieve an enrollment, a message is displayed. Use case ends here
7. Save an Enrollment a. At any point, the student may choose to save rather than submitting an enrollment. If this
occurs, the Submit Enrollment step is replaced with the following message: b. The course offerings are marked as “selected”, not “enrolled in” in the enrollment according
to business rule BR007 – Save an Enrollment. c. The enrollment is saved in the system. Use case ends here
8. Add/Drop Period Closed b. The system determines that add/drop period has expired, a message is displayed. Use case ends here
Conclusions The student will be enrolled in, or updated or deleted a selected course offerings if they are eligible, there is classroom availability and within the enrollment period.
Post Conditions 1. The student is enrolled in selected course offerings or 2. The student has deleted a selected course offerings.
Business Rules
BR001 – Course Offerings. The student can select 1 or 2 course offerings. BR002 – Deleted Enrollment. If the enrollment contains “enrolled in” course offerings, the student must be removed from the course offering. BR003 – Class Availability. A class must have at least 5 students or it will be canceled. BR004 – Course Prerequisite. Course prerequisite must be satisfied to enroll in class. BR005 – Course Enrollment Period. Class enrollment is three days at beginning of each semester. BR006 – Add/Drop Period. Add/Drop period ends third week of each semester. BR007 – Save an Enrollment. The course offerings are marked as “selected”, not “enrolled in” in the enrollment status. BR008 – Enroll Status. The system creates an enrollment status of “enrolled in”.
Constraints
Assumptions
1. The Course Catalog provides a list of all the course offerings for the current semester. 2. Student has reviewed Course Catalog with Advisor. 3. Returning students are addressed in Maintain Student Information use case. 4. The Abandon Use Case is used on every screen of the system and doesn’t need to show in
use case diagrams.
Open Issues:
Mocks-up of User Interaction:
The system has different views of data specific to the user’s roles and responsibilities within the
system. These views are indicated as menu options over the top of each screen as a guide of
identifying the actor(s) of the screen. For example <ALL> indicates that all users are the actor(s).
In essence all users see the same screen. <STUDENT MENU> indicates that the actor is the
student. In general only students have access to this screen. <INSTRUCTOR MENU> indicates
that the actor is the instructor and in general only instructors have access to this screen or group
of screens.
XYZ Project
21
XYZ Project
22
XYZ Project
23
XYZ Project
24
XYZ Project
25
XYZ Project
26
XYZ Project
27
XYZ Project
28
XYZ Project
29
Data Analysis & Logical Data Model:
Student
PK StudentID
ProgramID
LastName
FirstName
SSN
DOB
Race
Gender
Citizenship
Occupation
Address
Phone
Contact
Vehicle
Employer
EmployerAddress
Degree
Major
Year
Institution
StartDate
CompletionDate
FinancialAid
WorkStudy
MaritalStatus
Religion
Course
PK CourseID
Number
Title
Description
Prerequiste
CreditHours
CourseOfferings
PK CourseOfferingID
FK1 CourseID
SessionMonth
SessionYear
SessionStartDate
SessionEndDate
StartTime
EndTime
Day
FK2 InstructorID
FK3 RoomID
Maximum
EnrollPeriod
AddPeriod
DropPeriod
Availability
Instructor
PK InstructorID
LastName
Firstname
SSN
Address
Phone
Contact
Employer
EmployerPhone
Occupation
Room
PK RoomID
FK1 FacilityID
Number
Capacity
Availability
Enrollment
PK,FK1 CourseOfferingID
PK EnrollmentID
FK2 StudentID
Date
Grade
Status
Facility
PK FacilityID
FacilityLocation
Program
PK ProgramID
Certificate
enters
generates
teaches
is used for
contains
Is found in
is written in
FK1
XYZ Project
30
Business Rules:
Business Rules: 1. BR001 – Course Offerings. The student can select 1 or 2 course offerings.
2. BR002 – Deleted Enrollment. If the enrollment contains “enrolled in” course offerings, the student must
be removed from the course offering.
3. BR003 – Class Availability. A class must have at least 5 students or it will be canceled.
4. BR004 – Course Prerequisite. Course prerequisite must be satisfied to enroll in class.
5. BR005 – Course Enrollment Period. Class enrollment is three days at beginning of each semester.
6. BR006 – Add/Drop Period. Add/Drop period ends third week of each semester.
7. BR007 – Save an Enrollment. The course offerings are marked as “selected”, not “enrolled in” in the
enrollment status.
8. BR008 – Enroll Status. The system creates an enrollment status of “enrolled in”.
9. BR009 – Class Maximum. A class can have a maximum of 15 students or it will be canceled.
10. BR010 – Room Availability. A room can be used only per day, time, session & period.
Assumptions:
Assumptions: 1. The student is enrolled at XYZ Training Institute. 2. The student is a valid user with valid student id and password to use system. 3. The student has accessed XYZ Training Institute web site and has logged into the system from the Logon
Menu. 4. The Course Catalog provides a list of all the course offerings for the current semester during enrollment. 5. Student has reviewed Course Catalog with Advisor. 6. Returning students are addressed in Maintain Student Information use case. 7. The Abandon Use Case is used on every screen of the system and doesn’t need to show in use case
diagrams.
XYZ Project
31
High-level Architecture Diagram:
System Architectural Layers:
Presentation layer is made of web pages. The end user sees the web pages on a browser. The
user interface runs on the user's computer (the client). The client only displays the user
interface and data, but has no part in producing the results. The interface translates tasks and
results to something the user can understand.
The Application layer consists of the logic related to the presentation and application layers.
Input validation, business rules and the functional modules that actually process data are
performed here. The Application layer will define the components that are part of this layer.
This middle tier runs on a server and is often called the internet or web server.
The Data layer comprises of code to access the database. Its components may typically be
called by the application layer components. It also defines how this call should be made. It
designs the database structures, such as tables, views and so on. It handles data management
Presentation Layer
The top-most level of the
application is the user interface.
The main function of the interface
is to translate task and results to
something the user can
understand.
Application Layer
This layer coordinates the
presentation and application logic,
processes, commands, makes
business decisions and evaluation.
It also moves and processes data
between the two surrounding
layers.
Data Layer
Here information is stored and
retrieved from the database. The
information is then passed back to the
logic tier for processing, and eventually
back to the user. This tier handles data
manipulation or management and
database storage.
Student 1136
Student 1137
Student 1138
Student 1139
Database
Get
Enrollment
Total
1,139 Total
Enrollments
Get list of all students
enrolled this year.
Add all students enrolled
per semester for the year
together.
Storage
QUERY
XYZ Project
32
and data storage. The database management system (DBMS) stores the data required by the
middle tier. This tier runs on a second server called the database server.
3-Tier Thin Client Architecture:
How Layers Communicate With Each Other:
Each layer comprises of one or more components. Each component being a part of the
application may communicate with one or more component. The component may “speak” to
the other components using one of the many protocols. The data as such may be “passed”
across in many formats such as binary, string, etc.
The different layers of the applications can be located on physically different machines.
Benefits of System Architectural Layers:
A 3-Tier thin client architecture offers the ability to scale your system according to how it
will be used. The added modularity makes it easier to modify or replace one tier without
affecting the other tiers. It gives you the ability to setup servers based on functionality and
scale accordingly. Separating the application functions from the database functions makes it
easier to implement load balancing. With the large number of users – students and staff,
high security and high volume processing requirements, 3-Tier thin client architecture is
more suitable.
Recommended