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

CSC307 Lecture 12

CSC307 Lecture 12

Introduction to Software Engineering
Final Project
(202407)

Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. Dr. Javier Gonzalez-Sanchez [email protected] www.javiergs.info o ffi ce: 14 -227

    CSC 307 Introduction to Software Engineering Lecture 12. Final Project
  2. Searching for Inspiration • https://www.jarchitect.com/features • https://scitools.com/features • https://gource.io/ •

    http://wettel.github.io/codecity.html • http://www.redotheweb.com/CodeFlower/ • https://www.jgrasp.org/tutorials187/10_Viewers.pdf 5
  3. Starting Point (1 of 3) 6 Think about a number

    of features that you can individually (by yourself) implement
  4. Starting Point (2 of 3) 7 Agree with your teammates

    on HOW to integrate features into a single product. And Who does What, i.e., there are NOT 2 team members doing the same
  5. Starting Point (3 of 3) 8 Write an Individual proposal

    with What feature(s) you will implement.
  6. Note 13 Select a Speaker person to demo the full

    project Be sure that the speaker person talks about your part (features)
  7. Second Act – Your process T a ig a -

    Stories, B a cklogs, a nd T a sk bo a rd Stories (INVEST), Sprint b a cklog, product b a cklog. Estim a tion (story points) T a lk a bout t a sks; who is doing wh a t? Everybody is doing some progr a mming! Show a nd expl a in your Burndown Ch a rt. 14
  8. Note 15 Review that your stories are stories and not

    tasks; review that your tasks are tasks not stories Review that your stories are INVEST
  9. Third Act – Software Design Show your cl a ss

    di a gr a m. Use colors a s needed (Single Responsibility Principle) Wh a t a re the A, I, or D in the new cl a ss? (show the 2D plot reg a rding where your cl a sses a re in terms of the p a in zone) 16
  10. The code and diagram (blueprint) should match. Be sure that

    your classes are updated in the blueprint submitted Correctly apply DRY, SRP, Patterns, Principles, etc. Note 17
  11. Fourth Act – Code Show your GitHub Who is doing

    Wh a t? (everyone should be a dding or upd a ting code) Show your Code a nd Code Metrics Are your metrics OK (LOC, eLOC, lLOC, CC)? Any signi f ic a nt a spect th a t you w a nt to sh a re? 18
  12. Quality in your code: numbers of lines per method, cyclomatic

    complexity, following Java coding conventions, etc. Would another developer understand what I did? Note 19
  13. Fifth Act – Review and Retrospective Review Wh a t

    is Good in the product? Wh a t is next for the product (next fe a tures to be a dded)? (your promise for the next sprint present a tion) Retrospective (Process & People) Wh a t went well? Wh a t did not go well? 20
  14. Do you have issues (with your team, your technical skills,

    understanding the project instructions)? Talk, ASAP. Nothing can be done after the due date. Note 21
  15. To-Do List • User Stories in T a ig a

    (One or Two Sprints) One T a ig a per Te a m, but E a ch te a m member is responsible for their own stories. • T a sk bo a rd a nd Burn-down Ch a rt E a ch te a m member de f ines a nd upd a tes their own t a sks, foster a sense of a ccount a bility a nd commitment. This individu a l responsibility extends to code commits. 24
  16. To-Do List • UML Cl a ss Di a gr

    a m in Ast a h. One di a gr a m per te a m includes a ll cl a sses a nd their rel a tionships; however, e a ch te a m member is responsible th a t their own cl a sses a re correctly represented. • Apply design principles a nd p a tterns. M a inly but not limited to integr a ting e a ch te a m member's fe a tures into a single product. Consider Observer, Singleton, Composite/Decor a tor, but explore Null-Object, F a ctory, Builder, Memento, etc. However, “Design Principles a nd P a tterns a re not Supposed to be used r a ndomly; I will not ev a lu a te th a t you know the element but th a t you c a n use it correctly when a ppropri a te. 25
  17. To-Do List • Source Code on GitHub We will t

    a lk more a bout this in the following d a ys - including unit testing a nd continuous Integr a tion a nd deployment. • Or a l Present a tion (5 minutes video) My fe a tures, my design a nd its integr a tion, my code, a nd the qu a lity metrics of my code. • Self- Peer Ev a lu a tion 26
  18. CSC 307 Introduction to Software Engineering Javier Gonzalez-Sanchez, Ph.D. [email protected]

    Summer 2024 Copyright. These slides can only be used as study material for the class CSC307 at Cal Poly. They cannot be distributed or used for another purpose.