Student Name: Daniel Rosado
Course:
CIS339
Session (month, year):
01/2016
Object-Oriented System Analysis and Design
The School of Prosperity
Student Records System (SRS)
Week1—System Request3
Week2—Use Case Diagram AND Use Cases Descriptions5
Week3—Class Diagram AND CRC Cards9
Week4—Sequence, Communication, and State Machine Diagrams15
Week5—Package Diagram19
Week6—Method Contract AND Method Specification21
Week7—Object-Oriented Application Coding24
Week1—System Request
1
Use this system request template and complete the SRS system request.
System Request
The School of Prosperity
Student Records System (SRS)
Project sponsor:
The School of Prosperity (SoP)
Business Need:
New Internet-accessible Student Record System that will allow students the capability to handle their own registration and staff to maintain records, courses, and schedule online-face-to-face classes.
Business Requirements:
1.) Online accessible system
2.) Reduce registration time
3.) Handle enrollment increases
Business Value:
1.) Reduction in time spent registering students by 90% from 1000 to 100 hrs.
2.) Increase in staff productivity by 10% resulting in $50,000/yr. in cost savings
3.) Paper/Printer usage reduction resulting in approximately $3,000 in savings/yr.
4.)Staff morale is expected to increase due to increased time available for their projects
5.) Eliminate paper filing/registration errors
Special Issues or Constraints:
1.) Completion in one year
2.) Security; Students access to school files must be addressed/restricted
3.) Possibly integrate with currently used home grown apps/systems
2
I believe that my system request addresses the SRS Preliminary Planning Overview because it addresses the issue of what the customer wants, the specifics it is requiring along with the time frame it is requesting it in.
Here are my five questions that would help clarify some project issues/concerns:
1. Will the project team be responsible for loading all the archived/previous semesters of data of students?
2. What are the levels of permissions/rights that will be required at each level (i.e. Help Desk, Advisor, Dean, etc.)?
3. Does the one year time frame include deployment and training, or is it just delivery of application/system?
4. Who will provide the architecture/infrastructure for this deployment?
5. Is SoP looking for a licensed/supported application or are they interested in a COTS (Custom off the Shelf) application that they own outright?
3I completed my work by reviewing the Preliminary Planning Overview and identifying, the request, sponsor, business need(s), requirement(s), value and issues/constraints. I made the decision to differentiate between what were needs/ requirements and what were requests. The needs/requirements were where the system was accessed (internet accessible), how/who accessed the data/system (security) and when it needed to be in place (in one year).
Week2—Use Case Diagram andUse Cases Descriptions
1
SRS Use Case Diagram
.
Student Name Daniel RosadoCourseCIS339Session (month, ye.docx
1. Student Name: Daniel Rosado
Course:
CIS339
Session (month, year):
01/2016
Object-Oriented System Analysis and Design
The School of Prosperity
Student Records System (SRS)
Week1—System Request3
Week2—Use Case Diagram AND Use Cases Descriptions5
Week3—Class Diagram AND CRC Cards9
Week4—Sequence, Communication, and State Machine
Diagrams15
Week5—Package Diagram19
Week6—Method Contract AND Method Specification21
Week7—Object-Oriented Application Coding24
Week1—System Request
1
Use this system request template and complete the SRS system
request.
System Request
The School of Prosperity
Student Records System (SRS)
Project sponsor:
The School of Prosperity (SoP)
Business Need:
New Internet-accessible Student Record System that will allow
2. students the capability to handle their own registration and staff
to maintain records, courses, and schedule online-face-to-face
classes.
Business Requirements:
1.) Online accessible system
2.) Reduce registration time
3.) Handle enrollment increases
Business Value:
1.) Reduction in time spent registering students by 90% from
1000 to 100 hrs.
2.) Increase in staff productivity by 10% resulting in
$50,000/yr. in cost savings
3.) Paper/Printer usage reduction resulting in approximately
$3,000 in savings/yr.
4.)Staff morale is expected to increase due to increased time
available for their projects
5.) Eliminate paper filing/registration errors
Special Issues or Constraints:
1.) Completion in one year
2.) Security; Students access to school files must be
addressed/restricted
3.) Possibly integrate with currently used home grown
apps/systems
2
I believe that my system request addresses the SRS Preliminary
Planning Overview because it addresses the issue of what the
customer wants, the specifics it is requiring along with the time
frame it is requesting it in.
Here are my five questions that would help clarify some project
issues/concerns:
1. Will the project team be responsible for loading all the
archived/previous semesters of data of students?
2. What are the levels of permissions/rights that will be
required at each level (i.e. Help Desk, Advisor, Dean, etc.)?
3. 3. Does the one year time frame include deployment and
training, or is it just delivery of application/system?
4. Who will provide the architecture/infrastructure for this
deployment?
5. Is SoP looking for a licensed/supported application or are
they interested in a COTS (Custom off the Shelf) application
that they own outright?
3I completed my work by reviewing the Preliminary Planning
Overview and identifying, the request, sponsor, business
need(s), requirement(s), value and issues/constraints. I made the
decision to differentiate between what were needs/ requirements
and what were requests. The needs/requirements were where the
system was accessed (internet accessible), how/who accessed
the data/system (security) and when it needed to be in place (in
one year).
Week2—Use Case Diagram andUse Cases Descriptions
1
SRS Use Case Diagram
Maintain Class Records
Use Case Name: Maintain Class Records
ID:
Importance Level:
4. Primary Actor: Staff
Use Case Type:
Stakeholders and Interests:
SoP Staff-Easily maintain
Students
Brief Description: This use case diagram displays the school
records of the classes offered at SoP along with full control of
the class. The staff can create, delete and or modify the class
record(s).
Trigger: SoP Staff maintaining/accessing class records
Type: External
Relationships:
Association: Staff
Include:
Extend:
Generalization:
Normal Flow of Events:
1. Staff accesses course listing
2. Staff enters course
3. Staff views listing of classes associated with the course
4. Staff accesses class
A. Modifies and or deletes class
B. Adds class
a. Online
b. Face to face
Alternate/Exceptional Flows:
If there is no course in the system that matches the one entered
by staff.
Register a Student for Classes
Use Case Name: Register student for classes
5. ID:
Importance Level:
Primary Actor:
SoP Staff
Student(s)
Use Case Type: Detail, Essential
Stakeholders and Interests:
SoP Staff - Register students for classes
Students – Register for classes
Brief Description: This use case retrieves the class and allows
the staff or student to register.
Trigger: SoP Staff or student registering
Type: External
Relationships:
Association: SoP Staff and students
Include:
Extend:
Generalization:
Normal Flow of Events:
1. Course listing is displayed
2. Course selected
3. Classes are listed
4. Class is selected
5. Validation is run
A. If validation returns true, student is registered
B. If validation returns false, student registration is
denied/declined
SubFlows:
1. Is class open for registration
2. No duplicate registration for the same class
3. Online classes registration requires students
acknowledgement that they have the required hardware and
software to access online classes
4. No more than three class registration for open classes unless
student GPA is greater than 3.0. Then the student can take four
classes.
6. 5. The student has taken any required pre-requisite course
Alternate/Exceptional Flows:
0. When the registration is valid against the above rules, a
registration record is created and a message is then displayed to
confirm registration. Otherwise, a message explaining the
violation of the associated rule is displayed.
0. If registration is successful, one is added to the number of
students that have enrolled in the class.
0. After the student completes the class, his registration record
is updated with a grade. But the student has the option of
dropping the class while taking it.
2Validated that the requirements requested were addressed and
follow necessary flow of the application.
3
The decisions that were made for this week’s iLab were
completed following the requirements laid out in SRS
Requirements Definition document. The Requirements
Document laid out the overall case diagram flow as well as the
subflows and what must be validated.
Week3—Class Diagram andCRC Cards
1
Generate a class diagram for the SRS system. The diagram must
be generated by a UML drawing tool. Copy and paste your
diagram here:
SRS Class Diagram
7. Use this CRC template and complete a CRC card for each class
you designed in your SRS class diagram.
Class1 CRC Card
Front:
Class Name: Course
ID: 001
Type: Super class
Description: this class contains only the class id and name to
just keep records of the courses
Associated Use Cases:
Responsibilities
Maintains records of all the courses
Collaborators
Student
Class
Staff
Back:
Attributes:
Course_ID
Course_Name
Relationships:
Generalization (a-kind-of):
Is added to, updated by
Aggregation (has-parts):
Other Associations:
Class2 CRC Card
Front:
8. Class Name: Student
ID: 002
Type: Super class
Description: the class interacts with other classes and holds
details about the students
Associated Use Cases:
Responsibilities
Holds basic details about a student
Collaborators
Staff
Course
Class
Back:
Attributes:
Student_ID
Student_Name
Student_Class
scudent_Courses
Relationships:
Generalization (a-kind-of):
Is added to, selects, is registered
Aggregation (has-parts):
Other Associations:
Class3 CRC Card
Front:
Class Name: Class
ID: 003
Type: Super class
Description:
9. Interacts with other classes and contains details about a class
Associated Use Cases:
Responsibilities
Holds details about a class
Collaborators
Course
Student
Staff
Back:
Attributes:
Class_ID
Class_Name
Class_Courses
Class_Type
Relationships:
Generalization (a-kind-of):
Is added to, is maintained by
Aggregation (has-parts):
Other Associations:
Class4 CRC Card
Front:
Class Name: Staff
ID: 004
Type:
Description: Contains methods that maintain other classes.
Associated Use Cases:
Responsibilities
Manages all other classes by using special methods
10. Collaborators
Course
Student
Class
Back:
Attributes:
Staff_ID
Staff_Name
Relationships:
Generalization (a-kind-of):
Maintains, registers, updates, deletes
Aggregation (has-parts):
Other Associations:
ClassX CRC Card
2
Validate and verify your class diagram and CRC cards against
the SRS use case diagram anduse case descriptions.The SRC use
case diagram contains two main actors in the staff and student.
The same is implemented in the CRC cards where they are used
as super classes with different attributes. The interaction among
the actors is also depicted in the class diagrams which also
describes the relations in the diagram. The four main classes in
the class diagram show the classes and their various attributes
through which the methods can be implemented and a
framework for the database design can be designed
3
11. Explain how you completed your work, the decisions you made
to arrive at your conclusions, and the lessons you learned.The
class diagram was designed after an analysis of the explanation
provided in the scenario. I identified the nouns and verbs in a
possible scenario of the details provided. The nouns form part
of the classes which are used in the class diagram which are
also moved to the CRC cards. The collaborators are identified
from the relations within the class diagram and the attributes
are retrieved directly from the class diagram
Week4—Sequence, Communication, and State Machine
Diagrams
1
Generate a sequence diagram for the SRS system Register a
Student for Classes use case. The diagram must be generated by
a UML drawing tool. Copy and paste your diagram here:
Sequence Diagram for the Register a Student for Classes Use
Case
Generate a communication diagram for the SRS system Register
a Student for Classes use case. The diagram must be generated
by a UML drawing tool. Copy and paste your diagram here:
Communication Diagram for the Register a Student for Classes
Use Case
12. Generate a state machine diagram for the SRS system
RegistrationRecord object/class (the class that maintains the
registration of a student in a class). The diagram must be
generated by a UML drawing tool. Copy and paste your diagram
here:
State Machine Diagram for the RegistrationRecord Object
2
Validate and verify your behavioral diagrams against the SRS
Register a Student for Classes use case descriptionandthe SRS
classdiagram.
The register student use case consists of three classes. The
classes are represented in three tier architecture whereby there
is a user interface, data source and the data control. In order to
successfully view the outcome of the registration, there are a
series of steps that first involves requesting for courses through
the user interface. The results are queried and then displayed to
the user interface. The classes are requested and then validated
before being displayed to the user.
3
Explain how you completed your work, the decisions you made
to arrive at your conclusions, and the lessons you learned.
13. The sequence diagram and the state machine diagram involves
identifying the classes and the way information flows and the
action takes place. The actions are sorted and then identifying
the main methods used. The state machine diagram will then be
designed from the start to the end
Week 5—Package Diagram
1
Generate a package diagram for the SRS system. The diagram
must be generated by a UML drawing tool. Copy and paste your
diagram here:
SRS Package Diagram
2
Validate and verify your package diagrams against the SRS
classdiagramandthe SRS Register a Student for Classes use case
sequence and communication diagrams.
The diagram is designed considering the class, use case,
sequence and communication diagrams. The staff and student
are the main players interacting with the system hence they
14. form part of the main stereotype placed outside the main
package. Course, course class and class are the stereotypes that
reside within the main package.
3
Explain how you completed your work, the decisions you made
to arrive at your conclusions, and the lessons you learned.
The package diagram looks at the main users in the use case
diagram and picks the relation between the actors as well as
other parts of the system. Therefore o be created that reflect the
actual system.
Week6—Method Contract and Method Specification
1
Use this method contract template and complete a method
contract for the GetCourseByCourseID() method of the
CourseList class.
CourseList.GetCourseByCourseID() Method Contract
Method Name:
Class Name:
ID:
Clients (Consumers):
Associated Use Cases:
Description of Responsibilities:
Arguments Received:
Type of Value Returned:
Pre-Conditions::
Post-Conditions:
15. Use this method specification template and complete a method
specification for the GetCourseByCourseID() method of the
CourseList class.
CourseList.GetCourseByCourseID() Method Specification
Method Name:
Class Name:
ID:
Contract ID:
Programmer:
Date Due:
Programming Language:
Visual Basic Smalltalk C# Java
Triggers/Events:
Arguments Received:
Data Type:
Notes:
Messages Sent & Arguments Passed:
ClassName.MethodName:
Data Type:
17. Misc.Notes:
2
Validate and verify your method contract and method
specification against the CRC card for the CourseList class and
the CRC card for the Course class.
3
Explain how you completed your work, the decisions you made
to arrive at your conclusions, and the lessons you learned.
Week7—Object-Oriented Application Coding
1
Copy your code text of the CourseList.GetCourseByCourseID()
method and paste it here:
Code Text of Your CourseList.GetCourseByCourseID() Method
18. Copy a screenshot of running the unit test of the
CourseList.GetCourseByCourseID() method and paste it here:
Screenshot of running the Unit Test of
CourseList.GetCourseByCourseID() Method
19. Zip all the files you used in this coding project; copy and paste
the *.zip file here so that it can be unzipped and loaded into the
IDE and run on another computer:
A *.zip File of all of the Coding Project Files
2
Validate and verify your code and screenshot of the
CourseList.GetCourseByCourseID() method against the method
contract and the method specification of the same method.
3
Explain how you completed your work, the decisions you made
to arrive at your conclusions, and the lessons you learned.
Page 1 of 26