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

CSE563 Lecture 16

CSE563 Lecture 16

Software Requirements and Specification
SRS Document
(202110)

B546a9b97d993392e4b22b74b99b91fe?s=128

Javier Gonzalez
PRO

August 31, 2021
Tweet

More Decks by Javier Gonzalez

Other Decks in Programming

Transcript

  1. jgs CSE 563 Software Requirements and Specification Lecture 16: SRS

    Document Dr. Javier Gonzalez-Sanchez javiergs@asu.edu javiergs.engineering.asu.edu | javiergs.com PERALTA 230U Office Hours: By appointment
  2. jgs Grading

  3. jgs Fall 2021 | 00000001 Requirements Smells § Following the

    idea of code smells, the notion of requirements smell has been proposed to describe issues in requirements specification where the requirement is not necessarily wrong but could be problematic. § Examples of requirements smells are o subjective language, o ambiguous adverbs and adjectives, o superlatives and o negative statements
  4. jgs Fall 2021 | 00000001 Clean Keep It Simple (KIS)

    Do not repeat yourselves (DRY)
  5. jgs Fall 2021 | 00000001 Remember § 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
  6. jgs Fall 2021 | 00000001 Remember base extension base

  7. jgs Fall 2021 | 00000001 Use Case Diagram

  8. jgs Fall 2021 | 00000001 Use Case Diagram

  9. jgs Fall 2021 | 00000001 Non-Functional

  10. jgs Fall 2021 | 00000001 Non-Functional

  11. jgs Fall 2021 | 00000001 UML Diagrams

  12. jgs Fall 2021 | 00000001 UML Diagrams

  13. jgs Fall 2021 | 00000001 Questions

  14. jgs Software Requirement Specification Document

  15. jgs Fall 2021 | 00000001 Strategy Plan-based Agile

  16. jgs Fall 2021 | 00000001 SRS Document § 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.
  17. jgs Fall 2021 | 00000001 IEEE Standars § IEEE Standard

    830-1998, IEEE Recommended Practice for Software Requirements Specifications Standard 830, last revised in 1998. § IEEE Standard ISO/IEC/IEEE 29148:2011, with an update in 2018. § Like many IEEE standards for software engineering, they includes guidance and recommended approaches for specifying software requirements. It's not a complete tutorial on requirements development, but it does contain some useful information. § The IEEE standard provides several suggestions of how to organize functional requirements. There is no single organizational approach that's best. § Tailor and customize templates to best suit the nature and scale of your projects.
  18. jgs Fall 2021 | 00000001 SRS Document (part 1/3) 1.

    <system name> 2. <document version> 3. <team: names and roles> 4. <customer representative> 5. <one paragraph introduction>
  19. jgs Fall 2021 | 00000001 Example (part 1/3)

  20. jgs Fall 2021 | 00000001 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 }
  21. jgs Fall 2021 | 00000001 Example (part 2/3)

  22. jgs Fall 2021 | 00000001 SRS Document (part 3/3) 9.

    <non-functional requirements> 10. <glossary> 11. <revision history>
  23. jgs Fall 2021 | 00000001 Example (part 3/3)

  24. jgs Fall 2021 | 00000001 Homework § Review the SRS

    template from IEEE § Review the SRS for the Monopoly Game. Can you identify opportunities for improvement (errors)? http://agile.csc.ncsu.edu/SEMaterials/UseCaseRequirements.pdf § Review the SRS for the Pac-Man Game. Can you identify opportunities for improvement (errors)? (No, it is not a 100% good solution – be aware!) § Review the SRS for Gephi. Can you identify opportunities for improvement ? https://gephi.org/users/gephi_srs_document.pdf Nothing to submit yet
  25. jgs CSE 563 Software Requirements and Specification Javier Gonzalez-Sanchez, Ph.D.

    javiergs@asu.edu Fall 2021 Copyright. These slides can only be used as study material for the class CSE563 at ASU. They cannot be distributed or used for another purpose.