CSE 360
Introduction to Software Engineering
Lecture 05: Requirements Specification
Dr. Javier Gonzalez-Sanchez
[email protected]
javiergs.engineering.asu.edu | javiergs.com
PERALTA 230U
Office Hours: By appointment
Slide 2
Slide 2 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 6
Announcements
• Exercise 04 (UML Sequence Diagram)
• Quiz 02 (UML Diagrams, All of them)
• A Sample Exam is available for you to test your access to
Lock Down Browser. It has no value, and you can take it
as many times as needed.
Slide 3
Slide 3 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 7
Announcements
• First Midterm Exam
During the lecture time. No lecture that day.
Lockdown browser will not allow you to use Zoom
• Assignment 01 will open. It is about GitHub (version
control).
Slide 4
Slide 4 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 8
Email Etiquette
• What course?
CSE 360
• What section?
Tuesday
• Is it about a grade?
First, contact the TA
• Is it about a medical condition?
Include documentation
• Use your ASU email
Slide 5
Slide 5 text
LockDown Browser
Slide 6
Slide 6 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 11
Proctoring
Slide 7
Slide 7 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 12
Proctoring
Slide 8
Slide 8 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 13
Proctoring
Slide 9
Slide 9 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 14
Proctoring
Sample Exam is available. Test your system ASAP
Important:
a) Show your environment.
b) It is a CLOSED BOOK exam. Do not use any material
c) Scratch paper is allowed. Empty White Paper. Show it on camera
when you show your environment!
Slide 10
Slide 10 text
Previously
Slide 11
Slide 11 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 16
Concepts
necessities
requirements
functional
requirement
non-functional
requirement
Slide 12
Slide 12 text
Requirement Specification
Slide 13
Slide 13 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 18
Requirements Engineering
Stories
or
Scenarios
Interview or Observe (Ethnography)i.e., identify needs
Functional or not?
Structural issues,
Cost,
complexity
Slide 14
Slide 14 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 19
Where we are?
Process
Requirements
Concepts
functional
non-functional
Specification
Natural Language
Mathematical
specification
Structured Natural
Language
Graphical notations
Planning
Modeling
Coding
Deployment
Slide 15
Slide 15 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 20
Relationships
a) Actors
b) Use Cases
a) Relationships
child father
base addition
extension base
<< include >>
<< extend >>
Slide 16
Slide 16 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 21
Scenarios | Example
Nurse
Medical receptionist
Manager
Register
patient
View
personal info.
View record
Generate
report
Export
statistics
Doctor
Edit record
Setup
consultation
Slide 17
Slide 17 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 22
Inclusion
• Show that behavior of the included use case (addition) is inserted
into the behavior of the including (base) use case.
• A dashed line with an open arrowhead directed from
the including use case (base) to the included (addition) use
case. The arrow is labeled with the keyword «include».
• The include relationship is used to (1) simplify large use case by
splitting it into several use cases, (2) extract common parts of the
behaviors of two or more use cases.
base addition
Slide 18
Slide 18 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 23
Example
Slide 19
Slide 19 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 24
Extension
• Extending use case defines optional behavior that is not
necessarily meaningful by itself.
• Extend relationship is shown as a dashed line with an open
arrowhead directed from the extending use case to
the extended (base) use case. The arrow is labeled with the
keyword «extend».
base extension
Slide 20
Slide 20 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 25
Example 3
Slide 21
Slide 21 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 26
Include vs Extends
Slide 22
Slide 22 text
Examples
Use Case Diagrams
Slide 23
Slide 23 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 28
Example
Slide 24
Slide 24 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 29
Example
Slide 25
Slide 25 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 30
Example
Slide 26
Slide 26 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 31
Example
Slide 27
Slide 27 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 32
Example
http://epf.eclipse.org/wikis/openup/core.tech.common.extend_supp/guidances/examples/uc_model_elaboration_phase_70035F60.html
Slide 28
Slide 28 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 33
Think About This
Slide 29
Slide 29 text
Midterm Review
Slide 30
Slide 30 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 35
Note
The following is a summary of the most relevant ideas.
But, the exam is not limited to these,
i.e.,
The following IS NOT a comprehensive list
Slide 31
Slide 31 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 36
Class diagram
Class diagrams show the classes in a system
• modifiers
• Attributes
• methods
And the relationships between these classes:
• Association / Dependency
• Aggregation / Composition
• Generalization / Specialization / Realization
Slide 32
Slide 32 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 37
Relationships
Association
Aggregation Composition Generalization Realization
Slide 33
Slide 33 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 38
Concepts
Slide 34
Slide 34 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 39
Process Models
What process model is recommended for a large system (developed by several
partner companies)
Agile
V-model
Spiral
Waterfall
Slide 35
Slide 35 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 40
Diagrams
Slide 36
Slide 36 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 41
Diagrams
Slide 37
Slide 37 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 42
Diagrams
Slide 38
Slide 38 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 43
References
Chapter 1-5
Slide 39
Slide 39 text
Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 44
Homework
Complete This Week’s Hybrid Activities
Slide 40
Slide 40 text
CSE360 – Introduction to Software Engineering
Javier Gonzalez-Sanchez
[email protected]
Fall 2020
Disclaimer. These slides can only be used as study material for the class CSE360 at ASU. They cannot be distributed or used for another purpose.