$30 off During Our Annual Pro Sale. View Details »

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

    View Slide

  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

    View Slide

  3. jgs
    Grading

    View Slide

  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.

    View Slide

  5. jgs
    Quiz 07
    COCOMO

    View Slide

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

    View Slide

  7. jgs
    Fall 2021 | 00000001
    COCOMO II - Inputs

    View Slide

  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

    View Slide

  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)

    View Slide

  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)

    View Slide

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

    View Slide

  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

    View Slide

  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)

    View Slide

  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

    View Slide

  15. jgs
    Final Review

    View Slide

  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)

    View Slide

  17. jgs
    Fall 2021 | 00000001
    Academic Integrity

    View Slide

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

    View Slide

  19. jgs
    Fall 2021 | 00000001
    § Academic Integrity

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  25. jgs
    Fall 2021 | 00000001

    View Slide

  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

    View Slide

  27. jgs
    Topics to Review
    Part 1

    View Slide

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

    View Slide

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

    View Slide

  30. jgs
    Fall 2021 | 00000001
    Remember
    base
    extension
    base

    View Slide

  31. jgs
    Fall 2021 | 00000001
    Include vs Extends

    View Slide

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

    View Slide

  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

    View Slide

  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.

    View Slide

  35. jgs
    Fall 2021 | 00000001
    Activity Diagram

    View Slide

  36. jgs
    Fall 2021 | 00000001
    Example 3

    View Slide

  37. jgs
    Fall 2021 | 00000001
    State Machine Diagram

    View Slide

  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
    Success End
    Condition

    Failed End
    Condition

    Actors

    Trigger
    Description step action
    1 from trigger to goal delivery, and any cleanup after>
    2 <...>
    3

    View Slide

  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

    View Slide

  40. jgs
    Fall 2021 | 00000001
    Test Yourselves

    View Slide

  41. jgs
    Fall 2021 | 00000001
    Test Yourselves

    View Slide

  42. jgs
    Topics to Review
    Part 2

    View Slide

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

    View Slide

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

    View Slide

  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?

    View Slide

  46. jgs
    Fall 2021 | 00000001
    Epics

    View Slide

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

    View Slide

  48. jgs
    Fall 2021 | 00000001
    Definition

    View Slide

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

    View Slide

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

    View Slide

  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, …

    View Slide

  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)

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

  56. jgs
    Fall 2021 | 00000001
    Questions

    View Slide

  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.

    View Slide