Slide 1

Slide 1 text

CSE360 Introduction to Software Engineering Lecture 12: Software Requirement Specification (SRS) Javier Gonzalez-Sanchez [email protected] javiergs.engineering.asu.edu Office Hours: By appointment

Slide 2

Slide 2 text

SRS Document

Slide 3

Slide 3 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 3 Definition • SRS is a description of a software system to be developed. It lays out functional and non-functional requirements. • Establishes the basis for an agreement between customers and contractors or suppliers on what the software product is to do as well as what it is not expected to do. • Permits an assessment of requirements before design can begin and reduces later redesign.

Slide 4

Slide 4 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 4 SRS Document (part 1/3) 1. 2. 3. 4. 5.

Slide 5

Slide 5 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 5 Example (part 1/3)

Slide 6

Slide 6 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 6 SRS Document (part 2/3) 6. 7. 8. for-each use case { a. Id number b. Name – the goal as a short active verb phrase. c. Goal – a longer statement of the goal in context if needed d. Preconditions – what we expect is already the state of the world e. Post-conditions (also called success condition) - the state of the world upon successful completion f. failed condition (exception sequence) – the state of the world if goal abandoned. g. Description, base sequence or flows – it can be a paragraph or a diagram (use activity diagrams and state diagrams in this place) h. Actors – a role name or description for user or other systems }

Slide 7

Slide 7 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 7 Example (part 2/3)

Slide 8

Slide 8 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 8 SRS Document (part 3/3) 9. 10. 11.

Slide 9

Slide 9 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 9 Example (part 3/3)

Slide 10

Slide 10 text

Use Case Template

Slide 11

Slide 11 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 11 Use Case Template ID. Title < the name is the goal as a short active verb phrase> Description < a longer statement of the goal in context if needed > Preconditions Post Condition (Success) Post Condition (Failed End) Actors (Primary, secondary) SCENARIO step action 1 2 … 3 … EXTENSIONS step Branching Action 1a : 1b …

Slide 12

Slide 12 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 12 Use Case Template ID. Title Description Preconditions Post Condition (Success) Post Condition (Failed End) Actors (Primary, secondary) SCENARIO (steps) EXTENSIONS (steps)

Slide 13

Slide 13 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 13 Use Case Template ID. Title Description Preconditions Post Condition (Success) Post Condition (Failed End) Actors (Primary, secondary) SCENARIO (steps) EXTENSIONS (steps)

Slide 14

Slide 14 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 14 Use Case Template ID. Title Description Preconditions Post Condition (Success) Post Condition (Failed End) Actors (Primary, secondary) SCENARIO (steps) EXTENSIONS (steps)

Slide 15

Slide 15 text

Use Case Template Example

Slide 16

Slide 16 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 16 Diagram

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

Test Yourselves

Slide 19

Slide 19 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 19 Use Case Template ID. Title Description Preconditions Post Condition (Success) Post Condition (Failed End) Actors (Primary, secondary) SCENARIO (steps) EXTENSIONS (steps)

Slide 20

Slide 20 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 20 Use Case Template ID. Title Description Preconditions Post Condition (Success) Post Condition (Failed End) Actors (Primary, secondary) SCENARIO (steps) EXTENSIONS (steps)

Slide 21

Slide 21 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 21 Homework • Review the Monopoly Requirements Specification • Review the Pac-Man Requirements Specification • Review the Course Registration System Specification * Documents available on Blackboard.

Slide 22

Slide 22 text

CSE360 – Introduction to Software Engineering Javier Gonzalez-Sanchez [email protected] Summer 2017 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.