[Skip Navigation] [ CSUSB ] / [CNS] / [CSE] / [R J Botting] / [CS375] [Search ]
[About] [Contact] [Grades] [Objectives] [Patterns] [Projects] [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] 15x.html Tue Feb 26 15:42:36 PST 2013

# Review Questions 15 -- More Analysis

1. What is an iteration?
2. In the Unified Process what do we emphasize: make it complete | make it good | make it fast | use Java | drawing all the diagrams first and then code | write the code first and then draw the diagrams ? (pick the best fitting answer)

3. Give an example of generalization for a domain model that is not in the text or on the web site. Include a diagram.

4. When do you use generalization in a domain model (Guideline)?

5. What classes should be {abstract}?

6. Draw a diagram of these facts: Square are Rectangles, Rectangles are Figures, an Ellipse is a Figure, All Triangles are Figures.

# Exercise -- The CSUSB Inventory -- Exam Question

Suppose that you have to develop the CSUSB Inventory program for Facilities Services. This software tracks all the equipment and furniture on campus. It enables us to find where things have gone to. Each thing is in one place and places can have any number of things. CSUSB Inventory is used when we move, install, replace, repair, and remove things from service. It helps us find things and put them in the right place. Places include classrooms and stores. Draw a UML Domain Model for this project. The diagram should have at least half-a-dozen classes with associations, some attributes, and some generalizations

# Extended exercise

Look at the things you can see in this classroom. How do they fit into your domain model?

# Standard Definitions

7. Artifact::="Anything that is created in the course of a project".
8. artifact::=see above.

9. DCD::diagram="Design Class Diagram", shows the classes that will be implemented in code. [ 02DiceGameClasses.gif ] (example).
10. Deliverables::="A packet of artifacts that must be prepared by a deadline for review or distribution".

11. Glossary::= See http://cse.csusb.edu/dick/cs375/uml.glossary.html.
12. GoF::="Gang of Four", [ patterns.html#GoF ]
13. 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 set of objects and/or classes to carry it out. See [ patterns.html#GRASP -- General Responsibility Assignment Software Patterns ]
14. Grades::= See http://cse.csusb.edu/dick/cs375/grading/.

15. 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 has no value now, see YAGNI.

16. OO::shorthand="Object-Oriented".
17. OOAD::="Object-Oriented Analysis and Design", See chapter 1 in text.

18. patterns::="Documented families of problems and matching solutions", see Patterns.
19. Patterns::= See http://cse.csusb.edu/dick/cs375/patterns.html.

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

21. RJB::=The author of this document, RJB="Richard J Botting, Comp Sci and Engineering School, CSUSB".
22. RUP::Process="Rational UP", a proprietary version of UP.

23. SSD::="System Sequence Diagrams", see chapter 10 and [ 02DiceGameSSD.gif ] (example).

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

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

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

27. 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 also means "It won't be on the final or in quizzes".

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