Lecture 8 - analysis and design mode Flashcards
what is the aim of the analysis and design model?
analysis model - gain understanding of the application domain (capture requirnments)
design model - produce a model to be used for implementing the system
what does an analysis model include?
use case diagrams, use case descriptions, domain class diagrams, state machine diagrams and activity diagrams
what does a design model include?
design class diagrams, state machine diagrams, sequence diagrams, atomic use specifications (atomis use cases are specific to our particular method)
what is a logical and detailed design model?
logical - what we do
detailed - UI, components to provide data persistance, etc
explain association in terms of design model?
associations - if class contains element of another
what are top-level entries?
permits: set is a system (allows entry points to access the domain objects stored in the system)
what must top-level entries and navigation paths ensure?
that we can reach every donmain object (system object)
attributes of a one-to-one association?
no new classes, include an object of the other classes type as a member of class at tail of arrow
attributes of a one-to-many association?
no new classes, include a STL container that holds class objects from the many side
attributes of a many-to-many association? (without relationship attributes)
either include set of classes of many type in both, or introduce a new class that holds a member of each type.
attributes of a many-to-many association? (with relationship attributes)
introduce new lass that holds new attributes
attributes of a ternary or higher order association?
have to introduce new class to represent association
give an example of when we may change a relationship? (order and customer)
customer and order have a one to many relatioship, but we may make it a one-to-one relationship if we dont want customer info to be shared amongst order objects (now when customer makes 2 orders 2 it treats this customer as 2 different unrelated people)
what should classes include in a domain class diagram?
all attribute names, if useful then add attribute types and/or methods