Assignment 3

Due: Monday, October 20 in Distribution Center

Name: YOUR NAME
Student ID: YOUR ID NUMBER

1. Semi-formal domain models (30%)

Imagine you are just starting to work on a university enrollment system. You have already interviewed stakeholders. Now it is time to express your understanding of the application domain more formally. Keep in mind that these are descriptions of the problem, not exactly what the enrollment system will do or how it will work.

A. Use English paragraphs or bullets to describe the concept of class standing (freshmen, sophmore, junior, and senior) and the rules that determine when a student changes class standing. Define the terms "lower-division" and "upper-division." Hint: class standing is not always the same as year-in-school.

TYPE YOUR ANSWER HERE: SHORT PARAGRAPH OR BULLETS

B. Use a state machine diagram to describe the same information covered in part A.

USE ArgoUML OR Rational Rose TO MAKE A DIAGRAM, PRINT IT, AND STAPLE IT TO THESE PAGES.

C. Use English paragraphs or bullets to describe the attributes and relationships between these concepts: student, course, instructor, room. Include a description of the multiplicity of the relationships and any constraints. You may confine your answer to enrollment in the current quarter without considering prerequisites.

TYPE YOUR ANSWER HERE: SHORT PARAGRAPHS OR BULLETS

D. Use a UML class diagram to describe the same information covered in part C.

USE ArgoUML OR Rational Rose TO MAKE A DIAGRAM, PRINT IT, AND STAPLE IT TO THESE PAGES.

2. SRS: Use Cases (30%)

A. Write two or more use cases that cover the following user story. Define preconditions, the main success scenario, and at least two extensions. Remember that use cases are not as concrete as user stories: use cases should refer to actors by their type, not names like "Bob". Also, fill in steps that are skipped over by the user story, e.g., Bob must choose discussion sections. You may use this template if you like.

"Bob needs to enroll in 3 courses. So, he searches for upper-division courses in his major. He gets into ics102 and is wait-listed for ics104. Then, he tries to add a section of ics125, but it has a time-conflict, so he must change to the 8am section of ics125."

TYPE YOUR ANSWER HERE OR ATTACH A SEPARATE PAGE.

B. Which step in your use cases would be the most difficult for the user to carry out and why? How could your system make that step easier? Hint: steps can be difficult if they are physically difficult (e.g., user must type in a long URL or code number), if they require previous knowledge (e.g., the user must memorize the meaning of course enrollment restriction codes), or a difficult decision (e.g., which section has the better instructor?).

TYPE YOUR ANSWER HERE: 2 PARAGRAPHS

3. UML Structural Diagrams (25%)

This diagram contains several errors in the use of the UML notation. List 5 mistakes and explain why each one is wrong.

TYPE YOUR ANSWER HERE: 5 SHORT PARAGRAPHS

4. Finding out more (15%)

List 4 to 7 URLs, books, or articles that contain good information on writing use cases, UML class or interaction diagrams, or design by contract. For each item, briefly describe why you think that resource would be useful to you or your classmates. Do not list the books and URLs that have been given to you in class.

TYPE YOUR ANSWER HERE: 4-7 SHORT PARAGRAPHS

example use case templatesample test plan templateProject plan template