Slide 1

Slide 1 text

jgs CSE 563 We will start in a moment

Slide 2

Slide 2 text

jgs CSE 563 Software Requirements and Specification Lecture 25: Final Review Dr. Javier Gonzalez-Sanchez [email protected] javiergs.engineering.asu.edu | javiergs.com PERALTA 230U Office Hours: By appointment

Slide 3

Slide 3 text

jgs Grading

Slide 4

Slide 4 text

jgs Fall 2021 | 00000001 Grading § 7 Quizzes: 25 / 7 = 3.5714 per quiz. § 6 Assignments: 25 / 6 = 4.1666 per assignment. We are still reviewing a couple of Academic Integrity cases. I will be in touch during the weekend. § Midterm Exam: 25% i.e., your current grade / 4 § Final Exam: on Monday A curve is a possibility but not guaranteed. If applied, it will be applied to everyone; it is NOT case-based.

Slide 5

Slide 5 text

jgs Quiz 07 COCOMO

Slide 6

Slide 6 text

jgs Fall 2021 | 00000001 COCOMO II Web Tool by USC http://softwarecost.org/tools/COCOMO/

Slide 7

Slide 7 text

jgs Fall 2021 | 00000001 COCOMO II - Inputs

Slide 8

Slide 8 text

jgs Fall 2021 | 00000001 Scale Drivers Rating Scale Factors (Wi) Very Low Low Nominal High Very High Extra High Precedentedness (PREC) thoroughly unprecedented largely unprecedented somewhat unprecedented generally familiar largely familiar throughly familiar Development Flexibility (FLEX) rigorous occasional relaxation some relaxation general conformity some conformity general goals Architecture/Risk Resolution (RESL)* little (20%) some (40%) often (60%) generally (75%) mostly (90%) full (100%) Team Cohesion (TEAM) very difficult interactions some difficult interactions basically cooperative interactions largely cooperative highly cooperative seamless interactions Process Maturity (PMAT) Weighted average of “Yes” answers to CMM Maturity Questionnaire * % significant module interfaces specified, % significant risks eliminated

Slide 9

Slide 9 text

jgs Fall 2021 | 00000001 Cost Drivers | Product Factors 1.1. Required Reliability (RELY) 1. 2. Data Base Size (DATA) 1. 3. Complexity (CPLX) 1. 4. Developed for Reusability (RUSE) 1. 5. Documentation (DOCU)

Slide 10

Slide 10 text

jgs Fall 2021 | 00000001 Cost Drivers | Personnel factors 2.1 Analyst capability (ACAP) 2.2 Programmer (Software Engineer) capability (PCAP) 2.3. Applications experience (APEX) 2.4. Platform (or VM) experience (PLEX) 2.5. Language and tool experience (LTEX) 2.6. Personnel continuity (PCON)

Slide 11

Slide 11 text

jgs Fall 2021 | 00000001 Cost Drivers | Platform Factors 3.1. Time constraint (TIME) 3.2. Storage constraint (STOR) 3.3. Platform volatility (PVOL)

Slide 12

Slide 12 text

jgs Fall 2021 | 00000001 Cost Drivers | Project Factors Project Factors 4.1. Use of Software tools (TOOL) 4.2. Multisite development (SITE) 4.3. Required schedule - stretch-out or acceleration (SCED) Multisite development

Slide 13

Slide 13 text

jgs Fall 2021 | 00000001 Pacman § It has 1200 LOC § Nothing to be reuse § What could be its cost in the best-case scenario? § What could be its cost in the worse-case scenario? § What is the best-case scenario? (value for the factors) § What is the worse-case scenario? (value for the factors)

Slide 14

Slide 14 text

jgs Fall 2021 | 00000001 Quiz 07 1. Write a paper where you describe and include COCOMO reports for the PacMan videogame: § It has 1200 LOC § Nothing to be reuse § What could be its cost in the best-case scenario? § What could be its cost in the worse-case scenario? § What is the best-case scenario? (value for the factors) § What is the worse-case scenario? (value for the factors) 2. Do the same for another project – a project that you create in the past (a capstone project, a Summer internship, a personal project, etc. ). You do not need to share the code, just describe what the project is about and the LOC numbers, reuse or not, etc. Your paper should include (A) description of the system (B) COCOMO reports (two reports per system); (C) your conclusions about the usefulness / correctness of the values reported

Slide 15

Slide 15 text

jgs Final Review

Slide 16

Slide 16 text

jgs The following slides shows some examples related to some topics This is NOT a comprehensive list of topics Topics in the exam can be found Weeks 2 to 15 (Lectures 1 to 25)

Slide 17

Slide 17 text

jgs Fall 2021 | 00000001 Academic Integrity

Slide 18

Slide 18 text

jgs Fall 2021 | 00000001 Also, § Academic Integrity

Slide 19

Slide 19 text

jgs Fall 2021 | 00000001 § Academic Integrity

Slide 20

Slide 20 text

jgs Fall 2021 | 00000001 Fall 2021 | Final Exam

Slide 21

Slide 21 text

jgs Fall 2021 | 00000001 Fall 2021 | Final Exam

Slide 22

Slide 22 text

jgs Fall 2021 | 00000001 Fall 2021 | Final Exam

Slide 23

Slide 23 text

jgs Fall 2021 | 00000001 Fall 2021 | Final Exam

Slide 24

Slide 24 text

jgs Fall 2021 | 00000001 Fall 2021 | Final Exam

Slide 25

Slide 25 text

jgs Fall 2021 | 00000001

Slide 26

Slide 26 text

jgs Fall 2021 | 00000001 Fall 2021 | Final Exam Replace the Draw the Use Case Diagram for: § A product backlog § Activity and State Diagrams for an Authentication process § A set of tasks for one of the features (or requirements) included in the described scenario

Slide 27

Slide 27 text

jgs Topics to Review Part 1

Slide 28

Slide 28 text

jgs Fall 2021 | 00000001 Concepts § Step § Task § Requirement § Functional § Non-Functional § Use case § Use case diagram § Use case document § Actor § Scenario § Activity § State

Slide 29

Slide 29 text

jgs Fall 2021 | 00000001 Diagram a) Actors b) Use Cases a) Relationships child father base addition extension base << include >> << extend >>

Slide 30

Slide 30 text

jgs Fall 2021 | 00000001 Remember base extension base

Slide 31

Slide 31 text

jgs Fall 2021 | 00000001 Include vs Extends

Slide 32

Slide 32 text

jgs Fall 2021 | 00000001 Types of Non-Functional Requirements

Slide 33

Slide 33 text

jgs Fall 2021 | 00000001 INVEST in good requirements § Independent – loosely coupled with one another § Negotiable – Stories are what and why , not how ( 99% ). § Valuable – for the customer! § Estimatable – Effort/Cost of design, build, and test. § Small (sized appropriately) § Testable – pass or fail

Slide 34

Slide 34 text

jgs Fall 2021 | 00000001 Behavioral Modeling Supplements the use case by providing § a graphical representation of the flow of interaction. Create an activity diagram for each use-case. § a list of the different states of a system. Build a state diagram for the system. They are not mandatory and they can be combined.

Slide 35

Slide 35 text

jgs Fall 2021 | 00000001 Activity Diagram

Slide 36

Slide 36 text

jgs Fall 2021 | 00000001 Example 3

Slide 37

Slide 37 text

jgs Fall 2021 | 00000001 State Machine Diagram

Slide 38

Slide 38 text

jgs Fall 2021 | 00000001 Use Case Template Number and Name < the name is the goal as a short active verb phrase> Goal / Description < a longer statement of the goal in context if needed > Pre-conditions Success End Condition Failed End Condition Actors Trigger Description step action 1 2 <...> 3

Slide 39

Slide 39 text

jgs Fall 2021 | 00000001 Test Yourselves § Activity Diagram for Game of Life rules § State machine diagram for an Assignment on Canvas § Use case diagram for your operating system § State machine diagram for a webpage (URL) on your browser § Activity diagram for enrollment on a new course on MyASU

Slide 40

Slide 40 text

jgs Fall 2021 | 00000001 Test Yourselves

Slide 41

Slide 41 text

jgs Fall 2021 | 00000001 Test Yourselves

Slide 42

Slide 42 text

jgs Topics to Review Part 2

Slide 43

Slide 43 text

jgs Fall 2021 | 00000001 Strategy Plan-based Agile

Slide 44

Slide 44 text

jgs Fall 2021 | 00000001 Where we are? Product Requirement Task As a (role), I want (feature), So that (benefit)

Slide 45

Slide 45 text

jgs Fall 2021 | 00000001 Creating Stories storyboard A C … Z B time epics Epic or Story • Does it seem difficult to estimate? • Does it seem complex? • Is it long? • Are there technical or business unknowns that are unclear?

Slide 46

Slide 46 text

jgs Fall 2021 | 00000001 Epics

Slide 47

Slide 47 text

jgs Fall 2021 | 00000001 Stories INVEST INVEST INVEST INVEST INVEST INVEST INVEST INVEST INVEST INVEST INVEST INVEST

Slide 48

Slide 48 text

jgs Fall 2021 | 00000001 Definition

Slide 49

Slide 49 text

jgs Fall 2021 | 00000001 §Detailed Appropriately §Emergent §Estimated §Prioritized

Slide 50

Slide 50 text

jgs Fall 2021 | 00000001 Test Yourselves § What is the difference of DEEP and INVEST?

Slide 51

Slide 51 text

jgs Fall 2021 | 00000001 Estimation Pseudo – Fibonacci: 1, 2, 3, 5, 8, 13, … Binary – 1, 2, 4, 8, 16, 32 …. Linear – 1, 2, 3, 4, 5, 6, …

Slide 52

Slide 52 text

jgs Fall 2021 | 00000001 Where we are? … move the pacman … show the pacman … move a ghost … show a ghost … show power pills features tasks (new)

Slide 53

Slide 53 text

jgs Fall 2021 | 00000001 Burndown Chart Work Remaining (Hours or Points) days

Slide 54

Slide 54 text

jgs Fall 2021 | 00000001 COCOMO II Web Tool by USC http://softwarecost.org/tools/COCOMO/

Slide 55

Slide 55 text

jgs Fall 2021 | 00000001 Factors of development cost 1. Software Size (Lines of Code) 2. Software Scale Drivers: sources of exponential effort variation 3. Software Cost Drivers: sources of linear effort variation. They group in 4 categories: product, platform, personnel and project Factor are rated between very low and very high per rating guidelines

Slide 56

Slide 56 text

jgs Fall 2021 | 00000001 Questions

Slide 57

Slide 57 text

jgs CSE 563 Software Requirements and Specification Javier Gonzalez-Sanchez, Ph.D. [email protected] 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.