[Skip Navigation] [ CSUSB ] / [CNS] / [Comp Sci & Engineering] / [R J Botting] / [CS375] [Search ]
[About] [Contact] [Grades] [Objectives] [Patterns] [Projects] [Question] [Schedule] [Syllabus]
Session: [01] [02] [03] [04] [05] [06] [07] [08] [09] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20]
[Text Version] projects.html Mon Sep 28 15:49:51 PDT 2009
Opening the PDF files on this page may require you to download Adobe Reader or an equivalent viewer (GhostScript).

Contents


    Assigned field / Project work

      Teams

      The ideal team size is about 4.

      Plan

      The work is assigned on a Thursday so you have more days to do it. There will be time at the end of each Thursday class to start each iteration. The work is timeboxed: Present what you have at the start of the class when it is due.

      Give me the deliverables no later than 10am on the day after the end of the class.

      Exception -- the final version of the project is due at the start of the final.

      Project deliverables can be hard copy or a link plus access to the information on the web. If you elect to put artifacts on the web keep with the safer formats: .html, .txt, .pdf, .gif, .jpg.

      Schedule of Field / Project Work


      Table
      Due in Class#Project Work(10 pts)
      05W1 (Inception: section 4.3) [ w1.html ]
      07W2(Use Case Model 1) [ w2.html ]
      09W3(Domain Model 1) [ w3.html ]
      11W4(transition to design: SSD+packages) [ w4.html ]
      13W5(Interaction + Class Diagrams) [ w5.html ]
      15W6(GRASP) [ w6.html ]
      17W7(Model 2: use cases, domain, objects, classes) [ w7.html ]
      19W8(Model 3: model 2 improved) [ w8.html ]
      FinalW9(Model 4: model 3) [ w9.html ]

      (Close Table)

      Other Work

      Don't forget to read the web pages and the assigned part of the book, and then send me a question.

    Standard Definitions

  1. CS202::= See http://cse.csusb.edu/dick/cs202/.
  2. CS372::= See http://cse.csusb.edu/dick/cs372/.

  3. DCD::diagram="Design Class Diagram", shows the classes that will be implemented in code.
  4. DRY::XP="Don't Repeat Yourself".

  5. ESSUP::Process= See http://www.ivarjacobson.com/essup.cfm, Ivar Jacobsen simplified "Essential" UP.

  6. Glossary::= See http://cse.csusb.edu/dick/cs375/uml.glossary.html.
  7. GoF::="Gang of Four", [ patterns.html#GoF ]
  8. GRASP::patterns="General Responsibility Assignment Software Patterns", a set of guidelines for designing objects and classes. They take a single event that the system must handle and determine a good class to carry it out. See [ patterns.html#GRASP -- General Responsibility Assignment Software Patterns ]
  9. Grades::= See http://cse.csusb.edu/dick/cs375/grading/.

  10. KISS::Folk_law="Keep It Simple, Stupid", in agile processes this means never drawing a diagram or preparing a document that doesn't provide value to the clients and stakeholders. In all processes it means never designing or coding what is not needed, see YAGNI.

  11. OO::shorthand="Object-Oriented".

  12. OOAD::="Object-Oriented Analysis and Design", See chapter 1 in text.
  13. patterns::="Documented families of problems and matching solutions", see Patterns.
  14. Patterns::= See http://cse.csusb.edu/dick/cs375/patterns.html.

  15. Process::="How to develop software".

  16. RJB::=The author of this document, RJB="Richard J Botting, Comp Sci Dept, CSUSB".
  17. RUP::Process="Rational UP", a proprietary version of UP.

  18. SSD::="System Sequence Diagrams", see chapter 10.

  19. TBA::="To Be Announced".

  20. UML::="Unified Modeling Language". [ Unified_Modeling_Language ]

  21. UP::="Unified Process", an iterative, risk-driven, and evolutionary way to develop OO software.

  22. YAGNI::XP="You Ain't Gonna Need It", an XP slogan that stops you planning and coding for things that are not yet needed. As a rule the future is not predictable enough to program a feature until the stakeholders actually need it now. In this class it means "It won't be on the final or in quizzes".

  23. XP::="Extreme Programming", the ultimate iterative code-centric, user-involved process.

End