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

CSE563 Lecture 25

CSE563 Lecture 25

Software Requirements and Specification
Final Review
(202212)

Javier Gonzalez-Sanchez
PRO

September 09, 2021
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. jgs CSE 563 We will start in a moment

  2. 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
  3. jgs Grading

  4. 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.
  5. jgs Quiz 07 COCOMO

  6. jgs Fall 2021 | 00000001 COCOMO II Web Tool by

    USC http://softwarecost.org/tools/COCOMO/
  7. jgs Fall 2021 | 00000001 COCOMO II - Inputs

  8. 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
  9. 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)
  10. 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)
  11. jgs Fall 2021 | 00000001 Cost Drivers | Platform Factors

    3.1. Time constraint (TIME) 3.2. Storage constraint (STOR) 3.3. Platform volatility (PVOL)
  12. 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
  13. 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)
  14. 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
  15. jgs Final Review

  16. 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)
  17. jgs Fall 2021 | 00000001 Academic Integrity

  18. jgs Fall 2021 | 00000001 Also, § Academic Integrity

  19. jgs Fall 2021 | 00000001 § Academic Integrity

  20. jgs Fall 2021 | 00000001 Fall 2021 | Final Exam

  21. jgs Fall 2021 | 00000001 Fall 2021 | Final Exam

  22. jgs Fall 2021 | 00000001 Fall 2021 | Final Exam

  23. jgs Fall 2021 | 00000001 Fall 2021 | Final Exam

  24. jgs Fall 2021 | 00000001 Fall 2021 | Final Exam

  25. jgs Fall 2021 | 00000001

  26. 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
  27. jgs Topics to Review Part 1

  28. jgs Fall 2021 | 00000001 Concepts § Step § Task

    § Requirement § Functional § Non-Functional § Use case § Use case diagram § Use case document § Actor § Scenario § Activity § State
  29. jgs Fall 2021 | 00000001 Diagram a) Actors b) Use

    Cases a) Relationships child father base addition extension base << include >> << extend >>
  30. jgs Fall 2021 | 00000001 Remember base extension base

  31. jgs Fall 2021 | 00000001 Include vs Extends

  32. jgs Fall 2021 | 00000001 Types of Non-Functional Requirements

  33. 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
  34. 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.
  35. jgs Fall 2021 | 00000001 Activity Diagram

  36. jgs Fall 2021 | 00000001 Example 3

  37. jgs Fall 2021 | 00000001 State Machine Diagram

  38. 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 <what we expect is already the state of the world> Success End Condition <the state of the world upon successful completion> Failed End Condition <the state of the world if goal abandoned> Actors <a role name or description for the primary actor> <other systems relied upon to accomplish use case> Trigger <the action upon the system that starts the use case> Description step action 1 <put here the steps of the scenario from trigger to goal delivery, and any cleanup after> 2 <...> 3
  39. 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
  40. jgs Fall 2021 | 00000001 Test Yourselves

  41. jgs Fall 2021 | 00000001 Test Yourselves

  42. jgs Topics to Review Part 2

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

  44. jgs Fall 2021 | 00000001 Where we are? Product Requirement

    Task As a (role), I want (feature), So that (benefit)
  45. 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?
  46. jgs Fall 2021 | 00000001 Epics

  47. jgs Fall 2021 | 00000001 Stories INVEST INVEST INVEST INVEST

    INVEST INVEST INVEST INVEST INVEST INVEST INVEST INVEST
  48. jgs Fall 2021 | 00000001 Definition

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

  50. jgs Fall 2021 | 00000001 Test Yourselves § What is

    the difference of DEEP and INVEST?
  51. 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, …
  52. 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)
  53. jgs Fall 2021 | 00000001 Burndown Chart Work Remaining (Hours

    or Points) days
  54. jgs Fall 2021 | 00000001 COCOMO II Web Tool by

    USC http://softwarecost.org/tools/COCOMO/
  55. 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
  56. jgs Fall 2021 | 00000001 Questions

  57. 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.