Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CSE360 Lecture 12

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

CSE360 Lecture 12

Introduction to Software Engineering
Software Requirement Specification (SRS)
(201805)

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. CSE360 Introduction to Software Engineering Lecture 12: Software Requirement Specification

    (SRS) Javier Gonzalez-Sanchez [email protected] javiergs.engineering.asu.edu Office Hours: By appointment
  2. 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.
  3. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 4 SRS

    Document (part 1/3) 1. <system name> 2. <document version> 3. <team: names and roles> 4. <customer representative> 5. <one paragraph introduction>
  4. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 6 SRS

    Document (part 2/3) 6. <use cases diagram> 7. <use cases list> 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 }
  5. Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 8 SRS

    Document (part 3/3) 9. <non-functional requirements> 10. <glossary> 11. <revision history>
  6. 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 <what we expect is already the state of the world> Post Condition (Success) <the state of the world upon successful completion> Post Condition (Failed End) <the state of the world if goal abandoned> Actors (Primary, secondary) <a role name or description for the primary actor> <other systems relied upon to accomplish use case> SCENARIO step action 1 <put here the steps of the scenario from trigger to goal delivery, and any cleanup after> 2 … 3 … EXTENSIONS step Branching Action 1a <condition causing branching> : <action or name of sub-use case> 1b …
  7. 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)
  8. 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)
  9. 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)
  10. 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)
  11. 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)
  12. 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.
  13. 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.