Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

jgs Final Exam

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

jgs Javier Gonzalez-Sanchez | CSC 308 | Winter 2023 | 16 Repository ⬆ Push Workspace (working dir.) Index (Stage) 📁 Fetch ⬇ ⬆ Commit Merge ⬇ Pull ⬇ 📁

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

jgs Final Project

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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]

Slide 25

Slide 25 text

jgs

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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.