Unit IV Design
Object oriented design process 1.Apply design axioms to design classes 1.1 Refine and complete the static UML class diagram 1.2 Iterate and refine again 2. Design the access layer 2.1 create mirror classes 2.2 Identify access layer class relationships 2.3 simplify classes and their relationships 2.4 Iterate and refine again 3. Design the view layer classes 4. Iterate and refine the whole design
corollaries Corollary 1 Uncoupled design with less information content Corollary 2 Single process Corollary 3 Large number of simple classes Corollary 4 Strong mapping Corollary 5 Standardization Corollary 1 Design with inheritance
Object oriented design axioms Axiom 1.The independence axiom Maintain the independence of components Axiom 2. The information axiom Minimize the information content of the design
Designing Classes Designing classes: The process 1. Apply design axioms to design classes, their attributes,methods,associations, structures and protocols. 1.1 Refine and complete the static UML class diagram 1.2 Iterate and refine
Refining attributes Attributes types 1. Single value attributes 2. Multiplicity or multivalue attributes 3. References to another object Attributes presentation : + public visibility # protected visibility - private visibility
Designing methods Several methods constructor destructor conversion method copy method attribute set attribute get I/O methods
Access Layer: Object Storage and Ineroperability Database Management System( DBMS) Is a set of programs that enables the creation and maintenance of a collection of related data Fundamental purpose is to provide reliable, persistent data storage facility and the mechanisms for effective, convenient data access and retieval Persistence Ability of some object to outlive the program that create them
Object store and persistence Program will create large amount of data throughout its execution, each item of data will have a different lifetime Six categories for the lifetime of data Transient result to the evaluation of expressions Variables involved in the procedure activation Global and dynamic variables Data that exist between the executions of a program Data that exist between the versions of a program Data that outlive a program
Essential elements in providing a persistence store Identfication Properties of objects and their interconnection Scale of object store Stability
Database Management system Fundamental Database views Database Model Hierarchical Model Network Model Relational Model
OODBMS Rules that satisfy OO system *System must support complex objects *object identity must be supported *object must be encapsulated * System must support types or classes * System must support inheritance * must avoid premature binding * System must be computationally complete * System must be extensible
-continuation Second rule *Must be persistent * Must be able to manage very large databases *Must accept concurrent users * Must be able to recover from hardware and software *Data query must be simple
Designing access layer classes Access layer performs two major tasks * Translate the request * Translate the result
The process 1. Mirror the business class 2. Define relationships 3. Simplify classes and relationships 4. Iterate and refine
Designing View layer 1. Designing Vive Layer classes 2. Macro level UI design process 3. Micro level UI design activities 2.1 Designing the view layer objects by applying design axioms and corollaries 2.2 Prototyping the view layer interface 3. Testing the usability and user satisfaction 4. Refining and iterating the design
View macro process 1. Define relationships among the view (interface) objects 2. Iterate and refine
View layer Micro process Apply micro-level UI design rules and corollaries to develop the UI Iterate and refine
User Interface Rules 1. Making the Interface Simple( Application of Corollary 2) 2. Making The Interface Transparent and Natural ( Application of corollary 4) 3. Allowing the Users be in control of the Software( Application of corollary 1)