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

SER516 Lecture 15A

SER516 Lecture 15A

Software Agility
Midterm Review
(202103)

Javier Gonzalez-Sanchez
PRO

February 19, 2019
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. jgs
    SER 516
    Software Agility
    Lecture 15: Midterm Review
    Dr. Javier Gonzalez-Sanchez
    [email protected]
    javiergs.engineering.asu.edu | javiergs.com
    PERALTA 230U
    Office Hours: By appointment

    View Slide

  2. jgs
    00000001
    Announcement
    Assignment 05 Sprint 1 is due tonight
    § Sprint Backlog
    § Burndown Chart
    § Retrospective
    § Review
    § Product – Source Code – Clean Source Code
    § Product – Class Diagram– Clean Design
    Midterm Exam this Thursday March 11 during lecture time (AZ Time)

    View Slide

  3. jgs
    00000001
    Proctoring

    View Slide

  4. jgs
    00000001
    Proctoring

    View Slide

  5. jgs
    00000001
    Proctoring

    View Slide

  6. jgs
    00000001
    Agenda
    § Sample Exam is available. Test your system ASAP
    § Midterm Exam available March 11 from 4:30 pm to 5:45 pm
    Key ideas:
    a) Show your environment.
    b) It is a CLOSED BOOK exam. Do not use any material
    c) Scratch paper is allowed. Empty White Paper. Show it on camera when
    you show your environment!

    View Slide

  7. jgs
    Test Yourselves

    View Slide

  8. jgs
    00000001
    Correct?

    View Slide

  9. jgs
    00000001
    Correct?

    View Slide

  10. jgs
    00000001
    Step 1
    PanelLeft
    JMenuBar Main
    JMenu
    JMenuItem JFrame
    JPanel
    Workspace
    Icon
    *
    A
    B
    C
    ____Listener Graph
    Edge
    Compiler

    View Slide

  11. jgs
    00000001
    Dependency Injection (DI)
    public class ClientWindow {
    ...
    public ClientWindow() {
    ... = new OnePanel();
    ... = new TwoPanel();
    ... = new ThreePanel();
    ... = new JButton();
    ... = new JLabel();
    }
    }
    public class ClientWindow {
    public ClientFrame(OnePanel a,
    TwoPanel b,
    ThreePanel c) {
    // ...
    }
    }

    View Slide

  12. Review

    View Slide

  13. jgs
    00000001
    Note
    The following is a summary of the most relevant ideas.
    But, the exam is not limited to these,
    i.e.,
    The following IS NOT a comprehensive list

    View Slide

  14. jgs
    00000001
    Review
    § Background of process models (5); agile vs plan-based; what is and what is not
    “Agile”; agile manifesto; When to use agile and when is not a “good” option?
    Factors to be reviewed [Somerville 2,3]
    § Requirement vs Task; Product backlog; sprint; agile process, ceremonies, and
    roles; burndown chart [Somerville 3,4]
    § Agile principles (7) [Rubin 3]
    § People factors (3); clean coding; clean code principles; [Martin 1]
    § PBI; user story; epics;requirements [Rubin 5]

    View Slide

  15. jgs
    00000001
    Review
    § storyboard; epic vs story; INVEST; common errors [Rubin 5,6]
    § Product backlog; DEEP; Planning Poker; Grooming; [Rubin 6]
    § Sprint; Sprint characteristics; sprint planning; sprint backlog; [Rubin 4]
    § KISS, DRY, Readable, Coding Guidelines for Java [Java]
    § Estimation; Velocity; [Rubin 7]

    View Slide

  16. jgs
    00000001
    Agile Principles
    1. satisfy the customer
    2. Working software.
    3. motivated individuals that work together daily
    4. self–organizing teams.
    5. face–to–face conversation.
    6. Simplicity - good design.
    7. Team -tunes and adjusts.

    View Slide

  17. jgs
    00000001
    People Factors
    People Factors
    Amicability
    Motivated individuals
    work together daily
    tune and adjust
    Skills
    value simplicity
    technical
    excellence
    Communication
    self-organized
    conveying information face-to-face

    View Slide

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

    View Slide

  19. jgs
    00000001
    Common Errors
    § “As a student, I need to save my quiz so that later I can review, print, or
    email it for other uses.
    § As a student, I need to review, print, and email my quizzes so that I can
    request a revision or study.
    § As a developer, I want to create a server socket so that the client can
    connect to the server.
    § As a tester, I want to have the server finished so that when the client is
    completed, I can test it.
    § As a student, I want to see each question in my quiz displayed clearly so that
    I can quickly identify my errors.

    View Slide

  20. jgs
    00000001
    PBI

    View Slide

  21. jgs
    00000001
    Key Characteristics (DEEP)
    § Detailed Appropriately
    § Emergent
    § Estimated
    § Prioritized

    View Slide

  22. jgs
    00000001
    Clean Code Principles
    1. Readability
    e.g. Coding guidelines.
    2. Simplification and Specification
    e.g. KISS (Keep It Simple by K. Johnson).
    3. Decoupling
    4. Avoid Code Bloat
    e.g. DRY (Do not Repeat Yourself).

    View Slide

  23. jgs
    SER 516 Software Agility
    Javier Gonzalez-Sanchez
    [email protected]
    Spring 2021
    Disclaimer. These slides can only be used as study material for the class SER516 at ASU. They cannot be distributed or used for another purpose.

    View Slide