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

CSE360 Lecture 12

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.