Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 2 Test Yourselves Requirements Functional Non-Functional Constraints Quality Necessities

Slide 3

Slide 3 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 3 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.

Slide 4

Slide 4 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 4 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

Slide 5

Slide 5 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 5 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.

Slide 6

Slide 6 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 6 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

Slide 7

Slide 7 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 7 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.

Slide 8

Slide 8 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 8 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

Slide 9

Slide 9 text

Requirement Specification

Slide 10

Slide 10 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 10 Requirements Engineering Stories or Scenarios Interview or Observe (Ethnography)i.e., identify needs Functional or not? Structural issues, Cost, complexity

Slide 11

Slide 11 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 11 Where we are? Process Requirements Concepts functional non-functional Specification SRS Planning Modeling Coding Deployment

Slide 12

Slide 12 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 12 User Stories A user story template often uses the following type of format: As a , I want so that .

Slide 13

Slide 13 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 13 User Stories | Examples Examples of user stories are: • As a user, I want to upload photos so that I can share photos with others. • As an administrator, I want to approve photos before they are posted so that I can make sure they are appropriate.

Slide 14

Slide 14 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 14 Scenarios Scenarios should include: a) Actors b) Use Cases c) A starting situation; d) Flow of events;

Slide 15

Slide 15 text

Javier Gonzalez-Sanchez | CSE360 | Summer 2017 | 15 Scenarios | Example Nurse Medical receptionist Manager Register patient View personal info. View record Generate report Export statistics Doctor Edit record Setup consultation To be continued…

Slide 16

Slide 16 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.