SOFTWARE DESIGN
LAB 3 (%5 of Total Grade), VERSION 1
RELEASE DATE: May 28, 2021
This is our first lab with a required submission due to Monday June 7th at 11:30 PM EST
time (NO EXTENSIONs will be granted). This lab is the continuation of Lab 2 (from the
last week).
OBJECTIVE
In this lab we finish extracting the requirements by investing on a number of use cases
and make one detailed use case scenario.
DELIVERABLES
6 Use Case Scenarios: 3 Brief, 2 Casual, and 1 Fully dressed.
USE CASE EXAMPLES
• Examples from Larman’s book on Applying UML and Design Patterns (Pages 8-
12 includes a fully dressed use case scenario)
QUESTIONS
Ask questions on the course forum, on the eClass site, or by email.
POLICIES
Your (submitted or un-submitted) solution to this assignment (which is not revealed to the
public) remains the property of the EECS department. Do not distribute or share your
code in any public media (e.g., a non-private GitHub repository) in any way, shape, or
form before you get the permission from your instructors.
• You are required to work on your own for this lab. No group partners are allowed.
• When you submit your solution, you claim that it is solely your work. Therefore, it is
considered as a violation of academic integrity if you copy or share any parts of your
code or documentation.
• When assessing your submission, the instructor and TA may examine your doc/code,
and suspicious submissions will be reported to the department/faculty if necessary.
We do not tolerate academic dishonesty, so please obey this policy strictly.
• Emailing your solutions to the instruction or TAs will not be acceptable.
2
SUBMITTING YOUR WORK
Lab 3 is due June 7th at 11:30 PM EST via E-class.
AMENDMENTS
• So far so good
DOCUMENTING USECASES
Background
Use cases are text stories widely used to discover and record requirements. They
influence many aspects of a project, including object-oriented analysis and design, and
will be input to several subsequent artifacts in the project.
Informally, use cases are text stories of some actor using a system to meet goals. We
introduced three types of use case:
BRIEF: One paragraph summary, usually off the main success scenario. During early
requirements analysis, to get a quick sense of subject and scope. May take only a
few minutes to create.
CASUAL: Informal paragraph format. Multiple paragraphs that cover various scenarios.
Similarly, it gives us a quick sense of scope and subject similar to brief scenarios but
multiple formats.
FULLY DRESSED: all steps and variations are written in detail, and there are supporting
sections such as preconditions and success guarantees. This is written after so many
use cases have been identified and written in brief format. During the first workshop
a few (around 10%) of the architecturally significant and high-value ise cases are
written in details.
Lecture of Week 2 included examples of the brief and casual use cases (Slides 5, 8, and
10, and 12). The book of Applying UML and Design Patterns of Craig Larman also
includes various examples (Page 115 – Chapter 6). This chapter is also available on
eclass. Pages 8-12 of this PDF involves a fully dressed use case.
Context of Lab Project
Majority of the class (98%) stated that they are following COVID-19 pandemic news. As
the situation is evolving our requirements (in terms of personal life, work, studies, and
social aspects) are changing. This change created new challenges and needs in our lives.
3
For example, Myself (Maleknaz), in this situation I need to know (i) the updated regulation
in my neighborhood, (ii) I need to know the warmest time of the day to go out running, (iii)
I need to know the travel regulation between every two national and international
destinations, (iv) I need to know the number of people in the que of the closest grocery
store, (v) I need to stay productive in isolation, etc. etc.
These are my requirements which some can potentially be seen as a software
functionality (e.g. (ii) showing the warmest point in a day) and some might not (e.g. (v)
staying productive!). In quiz #1, you listed all the requirements that are occurring or is
urging or changing in your life because of the pandemic!
TO DO:
It is Expected that steps 1 to 4 already have been done in the week of January 18th. Step
5 is added.
- Choose three of the requirements you listed in Quiz 1.
• If you do not remember, have access, etc., you can write the use cases based on
what requirements come to your mind right now. - Download the template for brief and for casual use cases and create a similar table
for your fully dressed use case following the example. - Document three brief use cases.
- Pick two of the three brief use cases and write a casual use case for each of the two.
- Pick one of them and write a fully detailed description as a fully dressed use case
scenario.
OUTPUT:
You will have three brief use cases and two casual uses cases and one fully dressed use
case scenario (six use cases in total) around three of the requirements you had.
That being said, it is expected that you detail one of the three brief usecases as for your
fully dressed scenario.
SUBMISSION:
Please submit ONE pdf file including all these use cases. This one pdf should include 6
TABLES.
4
EVALUATION RUBRIC:
Criteria Description Percentage
The format • Following the format of use cases as in the
lectures/references,
• Using the terminology studied in our lectures or in
one of the introduced references,
Satisfying all the conditions of a use case following the
format provided.
20%
Completeness • Number of use cases,
• Level of details,
• Covering all the potential actors, scenarios, and
extensions when needed,
• Satisfying all the conditions of a use case in the
description of use case scenarios, exceptions, and
use case fields.
The scenarios and extension should be selfexplanatory.
Meaningfulness The use case should cover the interaction between
different actors of different types (systems, users, and
the SUD) meaningfully and in a meaningful and selfexplanatory
sequence as being understandable for
any reader familiar with the context.
30%
Cohesiveness • The use case should properly relate with the stated
requirements in Week 2,
• The use cases should relate with each other as
instructed in the assignment.
The content of use case should be cohesive and
convey a clear message.
20%
WX:codehelp