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

CSE360 Flipped Lecture 4

CSE360 Flipped Lecture 4

Introduction to Software Engineering
Requirements Engineering
(202009)

B546a9b97d993392e4b22b74b99b91fe?s=128

Javier Gonzalez
PRO

June 04, 2020
Tweet

Transcript

  1. CSE 360 Introduction to Software Engineering Lecture 04: Requirements Engineering

    Dr. Javier Gonzalez-Sanchez javiergs@asu.edu javiergs.engineering.asu.edu | javiergs.com PERALTA 230U Office Hours: By appointment
  2. Javier Gonzalez-Sanchez | CSE360 | Summer 2020 | 2 Announcements

    • Exercise 03 will open after the lecture, it is due as usual, the day before our next lecture (UML Class Diagrams) • First Midterm Exam Week 7 (September 29 / October 1) • Second Midterm Exam could be Week 12 (November 3 / November 5)
  3. Previously

  4. Javier Gonzalez-Sanchez | CSE360 | Summer 2020 | 4 Requirements

    mary raj … john jane … Ira O X - Product Requirement Task As a (role), I want (feature), So that (benefit)
  5. Requirements

  6. Javier Gonzalez-Sanchez | CSE360 | Summer 2020 | 6 Requirements

    Engineering
  7. Javier Gonzalez-Sanchez | CSE360 | Summer 2020 | 7 Concepts

    necessities requirements
  8. Javier Gonzalez-Sanchez | CSE360 | Summer 2020 | 8 Requirements

    are: § Atomic § Unambiguous (Comprehensible, Coherent ) § Consistent § Verifiable § Traceable § Prioritized
  9. Javier Gonzalez-Sanchez | CSE360 | Summer 2020 | 9 Concepts

    necessities requirements functional requirement non-functional requirement
  10. Javier Gonzalez-Sanchez | CSE360 | Summer 2020 | 10 Functional

    Requirement a) May state what (reactions, behaviours, or services) the system should not do. b) services the system should provide, c) how the system should react to particular inputs, and d) how the system should behave in particular situations.
  11. Javier Gonzalez-Sanchez | CSE360 | Summer 2020 | 11 Examples

    • Search option given to user to search from various invoices. • User should be able to mail any report to management. • Users can be divided into groups and groups can be given separate rights. What about • A video game? • Canvas? • MyASU? • Facebook App?
  12. Javier Gonzalez-Sanchez | CSE360 | Summer 2020 | 12 Non-functional

    Requirement Non-functional requirements a) Constraints on the services or functions offered by the system, such as Standards to apply, development platform, timing constraints, constraints on the development process, etc. b) Quality attributes, such as performance specifications, robustness, usability, etc.
  13. Javier Gonzalez-Sanchez | CSE360 | Summer 2020 | 13 Types

    of Non-Functional Requirements
  14. Javier Gonzalez-Sanchez | CSE360 | Summer 2020 | 14 Examples

    (Quality) Property Measure Speed • Processed transactions/second • User/event response time • Screen refresh time Size • Mbytes • Number of ROM chips Ease of use • Training time • Number of help frames Reliability • Mean time to failure • Probability of unavailability • Rate of failure occurrence • Availability Robustness • Time to restart after failure • Percentage of events causing failure • Probability of data corruption on failure Portability • Percentage of target dependent statements • Number of target systems
  15. Javier Gonzalez-Sanchez | CSE360 | Summer 2020 | 15 Examples

    (Constraints) • Should comply FERPA regulations. • Software is developed keeping downward compatibility intact. What about • Pac-man? • Canvas? • MyASU?
  16. Test Yourselves

  17. Javier Gonzalez-Sanchez | CSE360 | Summer 2020 | 17 Test

    Yourselves 1. The system must be able to capture federal and state tax table information. 2. The system must provide the ability to merge two accounts/records where one account is for the same person with an incorrect social security number by allowing the user to click the incorrect, make the changes to the correct account, and then delete the incorrect account automatically after an account has been locked for this purpose 3. Right after the game gets started, a dialog will show up to prompt the player enter his/her name. 4. The player rolls a dice by clicking on a button labeled “role dice”. A dialog pops-up to indicate the value of the dice roll. In this game, there are two six-faced dice.
  18. Javier Gonzalez-Sanchez | CSE360 | Summer 2020 | 18 Test

    Yourselves 1. The system must be able to capture federal and state tax table information. 2. The system must provide the ability to merge two accounts/records where one account is for the same person with an incorrect social security number by allowing the user to click the incorrect, make the changes to the correct account, and then delete the incorrect account automatically after an account has been locked for this purpose 3. Right after the game gets started, a dialog will show up to prompt the player enter his/her name. 4. The player rolls a dice by clicking on a button labeled “role dice”. A dialog pops-up to indicate the value of the dice roll. In this game, there are two six-faced dice. F F F F
  19. Javier Gonzalez-Sanchez | CSE360 | Summer 2020 | 19 Test

    Yourselves 5. The system shall allow a user to interface with it through mouse events on buttons and drop down boxes and keyboard events on text fields. 6. All code development shall be done with the Java programming language. 7. Modified data in a database should be updated for all users accessing it within 2 seconds 8. The system shall be accessible to people with disabilities in accordance with the Americans with Disabilities Act of 1990.
  20. Javier Gonzalez-Sanchez | CSE360 | Summer 2020 | 20 Test

    Yourselves 5. The system shall allow a user to interface with it through mouse events on buttons and drop down boxes and keyboard events on text fields. 6. All code development shall be done with the Java programming language. 7. Modified data in a database should be updated for all users accessing it within 2 seconds 8. The system shall be accessible to people with disabilities in accordance with the Americans with Disabilities Act of 1990. NF NF NF NF
  21. Javier Gonzalez-Sanchez | CSE360 | Summer 2020 | 21 Test

    Yourselves 7. All monetary amounts must be accurate to two decimal places (integrity). 8. The new product shall be easy to use by adult members (age 18 to 80) of the public who may only have one hand free. 9. No piece of text that might be displayed to a user shall reside in program source code. Every piece of text that a user might see must be modifiable without changing source code. That is, no user-visible text will be “hard-coded.” 10.The payment subsystem design is based on the payment module from the ALPHA product line. The PAGO system should not be modified unless absolutely necessary.
  22. Javier Gonzalez-Sanchez | CSE360 | Summer 2020 | 22 Test

    Yourselves 7. All monetary amounts must be accurate to two decimal places (integrity). 8. The new product shall be easy to use by adult members (age 18 to 80) of the public who may only have one hand free. 9. No piece of text that might be displayed to a user shall reside in program source code. Every piece of text that a user might see must be modifiable without changing source code. That is, no user-visible text will be “hard-coded.” 10.The payment subsystem design is based on the payment module from the ALPHA product line. The PAGO system should not be modified unless absolutely necessary. NF NF NF NF
  23. Requirement Specification

  24. To be continued…

  25. Javier Gonzalez-Sanchez | CSE360 | Summer 2020 | 25 Homework

    Complete This Week’s Hybrid Activities
  26. Javier Gonzalez-Sanchez | CSE360 | Summer 2020 | 26 References

    Chapter 4
  27. CSE360 – Introduction to Software Engineering Javier Gonzalez-Sanchez javiergs@asu.edu 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.