Data Design refine data objects and develop a set of data abstractions implement data object attributes as one or more data structures review data structures to ensure that appropriate relationships have been established simplify data structures as required
Data Design ◼ refine data objects and develop a set of data abstractions ◼ implement data object attributes as one or more data structures ◼ review data structures to ensure that appropriate relationships have been established ◼ simplify data structures as required
Component Level Data design 1. Apply systematic analysis principles to function and behavior to data 2. Identify all data structures and the operations to be performed on them 3. Establish a data dictionary 4. Defer low level data design decisions 5. Reveal data structure representation only to those modules that must make direct use of its content 6. Develop a library of useful data structures and the operations that may be applied to them 7. Abstract data types should be supported
Component Level Data Design 1. Apply systematic analysis principles to function and behavior to data. 2. Identify all data structures and the operations to be performed on them 3. Establish a data dictionary. 4. Defer low level data design decisions. 5. Reveal data structure representation only to those modules that must make direct use of its content. 6. Develop a library of useful data structures and the operations that may be applied to them 7. Abstract data types should be supported
Architectural Styles Each style describes a system category that encompasses: (1)a set of components(e.g, a database, computational modules) that perform a function required by a system,(2 a set of connectors that enable communication coordination and cooperation"among components, 3) constraints that define how components can be integrated to form the system, and (4) semantic models that enable a designer to understand the overall properties of a system by analyzing the known properties of its constituent parts Data-centered architectures Data flow architectures Call and return architectures Object-oriented architectures Layered architectures
Architectural Styles ◼ Data-centered architectures ◼ Data flow architectures ◼ Call and return architectures ◼ Object-oriented architectures ◼ Layered architectures Each style describes a system category that encompasses: (1) a set of components (e.g., a database, computational modules) that perform a function required by a system, (2) a set of connectors that enable “communication, coordination and cooperation” among components, (3) constraints that define how components can be integrated to form the system, and (4) semantic models that enable a designer to understand the overall properties of a system by analyzing the known properties of its constituent parts
Data-Centered architecture Client Client software software Client Client software software Data store (repository blackboard Client Client software software Client Client software software
Data store (repository or blackboard) Client software Client software Client software Client software Client software Client software Client software Client software Data-Centered Architecture
Data flow architecture pIpes filter filter filter filter filter filter filter filter filt er (a) pipes and filters er filter filter (b)batch sequential
Data Flow Architecture filter filter filter filter filter filter filter filter filter filter filter filter filter filter pipes (a) pipes and filters (b) batch sequential