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

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
  2. 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
  3. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    4 Summary Plan-Based Approaches Agile Approaches waterfall V-model Prototyping Kanban XP SCRUM
  4. 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
  5. 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
  6. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

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

    11 Relationships Association Directed Association Reflexive Association Multiplicity Aggregation Composition Generalization Realization
  8. 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
  9. 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
  10. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    16 Repository ⬆ Push Workspace (working dir.) Index (Stage) 📁 Fetch ⬇ ⬆ Commit Merge ⬇ Pull ⬇ 📁
  11. 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 >>
  12. 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
  13. 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
  14. 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]
  15. jgs

  16. jgs CSC 308 Software Engineering 1 Lab 26: … Dr.

    Javier Gonzalez-Sanchez [email protected] www.javiergs.com Building 14 -227 Office Hours: By appointment
  17. jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 |

    27 Let’s Work Work on Your Final Project
  18. 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.