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