180 likes | 210 Views
Information-oriented approaches. Colin Potts Georgia Tech. Information modeling in the enterprise. Philosophy Systems are what they are about, not what they do Therefore, model the system’s subject matter Process and computation is secondary
E N D
Information-oriented approaches Colin Potts Georgia Tech
Information modeling in the enterprise • Philosophy • Systems are what they are about, not what they do • Therefore, model the system’s subject matter • Process and computation is secondary • Information structure is more stable in the enterprise than functions & processes
Information modeling & requirements • Many organizations are developing enterprise data models / schemas • Requirements for new applications must be described in the terminology of the model Enterprise- wide model Applications
Subject matter is described in terms of Entities Relationships Attributes Constraints ER-modeling is not restricted to database design Though most relevant for DB-intensive ISs Entity-relationship (ER) modeling attribute Patron relationship Author borrows entity copy of Book Title
Entities & relationships • Entities are things • but not necessarily tangible (books), also abstract concepts (title) • Relationships hold in states • System exists in discrete states • e.g. “Fred has borrowed War and Peace” book patron entity
Attributes & cardinality • Attributes are properties of entities • Though sometimes, an apparent attribute gets “promoted” to a relationship • Cardinality constraints say how many entities of each type can participate • Minimum and maximum at each end of relationship
Min 0 entity may enter into relationship Min 1 entity must enter into relationship Max 1 entity enters into relationship with at most one other entities Max n entity may enter into relationship with others Cardinality (cont.) entity 1 relationship entity 2
Translating a model into English N M An M verbs Ns M N An M verbs an N M N An M may verb an N M N An M may verb Ns
Transactions are operations that affect the state of the model e.g. use cases in a BPR model effects may be create retrieve update delete of an entity, its attributes or relationships “CRUD matrix” Transactions & updates
Team exercise: Information modeling • As a class • Think about problem domain that underpins the example requirements • Identify candidate entities, attributes, relationships from domain • In teams of 2-3 • Sketch E-R model fragment • As a class • Discuss the insights so gained about the reqts.
Information modeling: how to find out more • There are many books on information modeling • but most are about DB design • Two good general introductions are • Shlaer & Mellor (Don’t be deceived by the “OO” title) • Barker: CASE Method
Object-oriented analysis: introduction • OOA evolved from Information Modeling • Very similar in outline • OOA is analysis and specification phase preceding OOD/OOP • Relevance to requirements • As with information modeling, derive requirements using terminology of stable object model
OOA and information modeling have same basic concepts Classes = Entity classes Objects = Instances Objects have operations Objects have life cycles Some classes specialize others from which they inherit attributes and operations Title author has copy (1,1) (1,n) Book acqn# Patron (0,n) borrows name (0,1) Objects and entities Loaner
Two families of OOA/OOD methods • OOA associations can be purely static relationships • cf. information modeling; conditions that hold • Or can be dynamic connections • cf. modules using other modules • Two families of methods • IM-based: ERA plus inheritance & ops. • Dynamic: Based on scenarios.
OMT (Rumbaugh et al) Heuristics for identifying classes Dynamic model Build scenarios describing how system will be used Draw event traces for the scenarios showing objects interacting Develop lifecycle models (state machines for classes Book Patron borrow return Objects and scenarios of use Patron shelved borrow return on loan
OMT object model Operations are treated like a special type of attribute Operations may be performed or suffered Operations change the value of an attribute or relation Here "borrowed" Similar treatment in other OOA methods Objects and operations Book acqn# (0,n) Patron borrowed name borrow return (0,1)
OOA: how to find out more • There are lots of methods and books about them • OOA as extended information modeling • Rumbaugh et al book • OOA as scenario-based analysis method • Jacobson book • Different from the BPR book
Conclusions: Information-oriented approaches • Goal • Understand requirements through constructing information model • Techniques • ER modeling & OOA • Evaluation • ER is mature, but unnecessarily restricted to DB design • OOA is new