UML and Class Diagrams using IBM Rational Software Architect

profiledmpiney198x
cis_339_labweeklysubmissiontemplate_daniel_rosado_wk2.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)

Week 1 System Request 3

Week 2 Use Case Diagram AND Use Cases Descriptions 5

Week 3 Class Diagram AND CRC Cards 9

Week 4 Sequence, Communication, and State Machine Diagrams 15

Week 5 Package Diagram 19

Week 6 Method Contract AND Method Specification 21

Week 7 Object-Oriented Application Coding 24

Week 1—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).

Week 2—Use Case Diagram and Use 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.

Week 3—Class Diagram and CRC 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:

ID:

Type:

Description:

Associated Use Cases:

Responsibilities

Collaborators

Back:

Attributes:

Relationships:

Generalization (a-kind-of):

Aggregation (has-parts):

Other Associations:

Class2 CRC Card

Front:

Class Name:

ID:

Type:

Description:

Associated Use Cases:

Responsibilities

Collaborators

Back:

Attributes:

Relationships:

Generalization (a-kind-of):

Aggregation (has-parts):

Other Associations:

Class3 CRC Card

Front:

Class Name:

ID:

Type:

Description:

Associated Use Cases:

Responsibilities

Collaborators

Back:

Attributes:

Relationships:

Generalization (a-kind-of):

Aggregation (has-parts):

Other Associations:

Class4 CRC Card

Front:

Class Name:

ID:

Type:

Description:

Associated Use Cases:

Responsibilities

Collaborators

Back:

Attributes:

Relationships:

Generalization (a-kind-of):

Aggregation (has-parts):

Other Associations:

ClassX CRC Card

2

Validate and verify your class diagram and CRC cards against the SRS use case diagram and use case descriptions.

3

Explain how you completed your work, the decisions you made to arrive at your conclusions, and the lessons you learned.

Week 4—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 description and the SRS class diagram.

3

Explain how you completed your work, the decisions you made to arrive at your conclusions, and the lessons you learned.

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 class diagram and the SRS Register a Student for Classes use case sequence and communication diagrams.

3

Explain how you completed your work, the decisions you made to arrive at your conclusions, and the lessons you learned.

Week 6—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.

Week 7—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 9 of 26