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

CSE563 Lecture 25

CSE563 Lecture 25

Software Requirements and Specification
Final Review
(202204)

B546a9b97d993392e4b22b74b99b91fe?s=128

Javier Gonzalez
PRO

September 09, 2021
Tweet

More Decks by Javier Gonzalez

Other Decks in Programming

Transcript

  1. jgs CSE 563 Software Requirements and Specification Lecture 25: Final

    Review 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 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 for everyone; it is not case based.
  4. jgs Quiz 07 Due Friday

  5. 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 (1) description of the system (2) COCOMO reports (two reports per system); (3) your conclusions about the usefulness / correctness of the values reported
  6. jgs Review

  7. 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)
  8. jgs Fall 2021 | 00000001 Accommodations

  9. jgs Fall 2021 | 00000001 Academic Integrity

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

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

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

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

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

  15. jgs Fall 2021 | 00000001

  16. 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
  17. jgs Topics to Review Part 1

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

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

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

  21. jgs Fall 2021 | 00000001 Include vs Extends

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

  23. 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
  24. jgs Fall 2021 | 00000001 Behavioral Modeling Supplements the use

    case by providing § a graphical representation of the flow of interaction. Create a 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.
  25. jgs Fall 2021 | 00000001 Activity Diagram

  26. jgs Fall 2021 | 00000001 Example 3

  27. jgs Fall 2021 | 00000001 State Machine Diagram

  28. 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
  29. 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
  30. jgs Fall 2021 | 00000001 Test Yourselves

  31. jgs Fall 2021 | 00000001 Test Yourselves

  32. jgs Fall 2021 | 00000001 Test Yourselves

  33. jgs Topics to Review Part 2

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

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

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

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

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

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

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

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

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

    USC http://softwarecost.org/tools/COCOMO/
  46. 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
  47. 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
  48. 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)
  49. 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)
  50. jgs Fall 2021 | 00000001 Cost Drivers | Platform Factors

    3.1. Time constraint (TIME) 3.2. Storage constraint (STOR) 3.3. Platform volatility (PVOL)
  51. 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
  52. jgs Fall 2021 | 00000001 Questions

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