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

CSC308 Lecture 26

CSC308 Lecture 26

Software Engineering I
Final Review
(202303)

Javier Gonzalez-Sanchez
PRO

March 17, 2023
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. jgs
    CSC 308
    Software Engineering 1
    Lecture 26:
    Final Review
    Dr. Javier Gonzalez-Sanchez
    [email protected]
    www.javiergs.com
    Building 14 -227
    Office Hours: By appointment

    View Slide

  2. jgs
    Final Exam

    View Slide

  3. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 3
    § Week 1. Software Engineering is not Programming.
    § Week 2. Process Models and Agile Methods
    § Week 3. Clean Coding.
    § Week 4. Software Design.
    § Week 5, 6. Design Principles and GoF Patterns
    § Week 7. Software Architecture
    § Week 8. Version Control.
    § Week 9. Requirement Engineering
    Topics

    View Slide

  4. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 4
    Summary
    Plan-Based Approaches Agile Approaches
    waterfall
    V-model
    Prototyping
    Kanban XP
    SCRUM

    View Slide

  5. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 5
    § Communication or Requirement
    § Modeling or Design
    § Construction or Coding
    § Testing (Unit, UI, Integration, Stress, Regression)
    § Deployment or Delivery
    Summary

    View Slide

  6. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 6
    We are here
    Burndown
    Chart

    View Slide

  7. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 7
    Product Backlog

    View Slide

  8. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 8
    Stories and Tasks
    … move the pacman
    … show the pacman
    … move a ghost
    … show a ghost
    … show power pills
    stories tasks (new)
    … show a maze

    View Slide

  9. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 9
    Key Ideas
    DRY
    KIS
    Readable
    (comments, names, spaces,…)

    View Slide

  10. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 10
    Step 2

    View Slide

  11. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 11
    Relationships
    Association Directed
    Association
    Reflexive
    Association
    Multiplicity
    Aggregation Composition Generalization Realization

    View Slide

  12. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 12
    public class A extends B {
    C c1, c2;
    public A() {
    c1 = new C();
    }
    public void method() {
    D d = new D();
    d.working();
    }
    }
    Public class X {
    public void m() {
    B var = new A();
    double x – Math.sqrt(5);
    }
    }
    public class B implements E {
    public B() {
    C c1 = new C();
    }
    public void method() {
    B b = new B();
    b.sleep();
    }
    }
    public class Y {
    A [] a = new A[5];
    }
    Lab

    View Slide

  13. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 13
    GoF Patterns

    View Slide

  14. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 14
    Observer

    View Slide

  15. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 15
    Architecture :: Our Project
    Model
    View Controller
    Blackboard
    KnowledgeS
    ource
    Control
    Socket
    ServerSock
    et
    Model
    View Controller
    Blackboard
    KnowledgeS
    ource
    Control
    Socket
    ServerSock
    et

    View Slide

  16. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 16
    Repository

    Push
    Workspace (working dir.)
    Index (Stage)
    📁
    Fetch


    Commit
    Merge

    Pull

    📁

    View Slide

  17. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 17
    a) Actors
    b) Use Cases
    a) Relationships
    Diagram
    child father
    base addition
    extension base
    << include >>
    << extend >>

    View Slide

  18. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 18
    Include vs Extends

    View Slide

  19. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 19
    Examples of user stories are:
    § As a user, I want to upload photos so that I can share photos with
    others.
    § As an administrator, I want to approve photos before they are posted so
    that I can make sure they are appropriate.
    Test Yourselves

    View Slide

  20. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 20
    Test Yourselves

    View Slide

  21. jgs
    Final Project

    View Slide

  22. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 22
    Submit Here your Final Project, including
    a) Final Version of your Source Code - submit your Java files
    b) Software Design - your UML class diagram
    c) Screenshot of your Backlog, Task board, and your Burn-down Chart from
    Taiga
    d) Links to your GitHub repository and Taiga project site
    e) Link to your video of the Final Presentation
    Final Project

    View Slide

  23. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 23
    Questions

    View Slide

  24. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 24
    Office Hours
    Tuesday and Thursday 3 - 5 pm
    But an appointment required
    Sent me an email – [email protected]

    View Slide

  25. jgs

    View Slide

  26. jgs
    CSC 308
    Software Engineering 1
    Lab 26:

    Dr. Javier Gonzalez-Sanchez
    [email protected]
    www.javiergs.com
    Building 14 -227
    Office Hours: By appointment

    View Slide

  27. jgs
    Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 27
    Let’s Work
    Work on Your Final Project

    View Slide

  28. jgs
    CSC 308 Software Engineering I
    Javier Gonzalez-Sanchez, Ph.D.
    [email protected]
    Winter 2023
    Copyright. These slides can only be used as study material for the class CSC308 at Cal Poly.
    They cannot be distributed or used for another purpose.

    View Slide