Obj-Oriented Analysis-Design

profiledmpiney198x
cis_339_labweeklysubmissiontemplate_daniel_rosado_wk5.docx

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 Request 3

Week2 Use Case Diagram AND Use Cases Descriptions 5

Week3 Class Diagram AND CRC Cards 9

Week4 Sequence, Communication, and State Machine Diagrams 15

Week5 Package Diagram 19

Week 6 Method Contract AND Method Specification 21

Week7 Object-Oriented Application Coding 24

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?

3

I 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:

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

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.

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.

2

Validated 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

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:

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:

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

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

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

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.

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 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:

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:

Notes:

Argument Returned:

Data Type:

Notes:

Algorithm Specification:

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

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

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