Stimulate 2005 Instructor: Luz M. Quiroga lquiroga@hawaii.edu University of Hawaii Information and Computer Science / Library and information Science POST 314b; 808-956-9988 Stimulate 2005: agenda for July 11-13 • System Analysis and design – Object Oriented SA&D • Information Architecture – Information Organization in the WWW – Usability • Information Filtering – Information overload – Personalized Information delivery Stimulate 2005 System Analysis and Design (SA&D) Object Oriented modeling Part 1: background Object Oriented Philosophy Techniques Object Oriented techniques • Sinha, Atish. Object Oriented analysis and design. Appendix A. In Valacich, George and Hoffer, 2001 • Martin J. & Odell J. Object-oriented methods: a foundation. UML edition, 1977 Object orientation: agenda • Theory (Martin) • Application to system analysis (Sinha) – Use case: used in system analysis phase – Class diagrams (similar to ER): used in conceptual design phase – State diagrams – Sequence diagrams • Use case diagrams in MS-Visio • Class diagrams in MS-Visio OO paradigm: Key terms Unified Modeling Language (UML) Associations, relationships Concepts Object Object class Use case Class diagram Event Operation Sequence diagram State State transition Object orientation Theory (Martin) The Object-Oriented Modeling Approach • Benefits 1.The ability to tackle more challenging problem domains 2.Improved communication among users, analysts, designers and programmers 3.Reusability of analysis, design and programming results 4.Increased consistency among the models developed during object-oriented analysis, design, and programming Structured analysis versus Object oriented analysis • Structured system analysis – Modeling tools: Flowcharts, DFD, decision tables and trees, CPM, Gantt charts, structured English – Functional decomposition: focus on process, tasks, data – ER model: focus on identifying entities & relationships • Object oriented analysis – Modeling tools: Use case, class diagram (similar to ER), state diagrams, sequence diagrams, etc. – Object oriented decomposition: focus on objects, classes of objects, parts of objects, attributes of objects, relationships between objects, actions taken by objects, behavior Object orientation: history • Actors – Grady Booch 1993 organized first meeting to create a RFP on OO A&D – Jim Raumbaugh, Ivar Jacobson, Peter Coad, James Martin – Rational Software Corporation in 1994 hires Raumbaugh to create its own standard: Unified Method; 1995 hires Jacobson: UML – Unified Modeling Language – Special Interest Group = OA&D Task Force – ISO, ANSI – Organizations: Hewlett Packard, Microsoft, IBM, Oracle Object orientation: history • Actions – 1996: OA&DTK present RFP (Request for Proposals) to create the standard – Six submission from companies (18) • Results: – 1997: Effort merged into a single proposal – Outcome: UML (Unified Modeling language) Object orientation: the language • Unified Modeling Language (UML) – A notation that allows the modeler to specify, visualize and construct the artifacts of software systems, as well as business models – Techniques and notations • Use cases • Class diagrams • State diagrams • Sequence diagrams Use-case Modeling • A use case consist of actors (stick man) and use case (ellipse) • It can include generalization / specialization (extends, adds new behaviors, actions) • It represent the typical interactions user - systems Source: Sinha Class diagram example University example Source: Sinha State diagram for the student object Sequence diagram for a class registration scenario with prerequisites The object oriented paradigm • Object oriented looks at the world in term of objects (concepts); the world is made up of objects (concrete or abstracts). • A concept is an idea or notion that we apply to the things, or objects, in our awareness • Object oriented methods model the way that people understand and process reality, through the concepts they acquire A concept is an idea or notion that we apply to the things, or objects Source: Martin Concepts and Relationships first grade Source: Martin Type of relationships between objects • Classification • Generalization • Aggregation / composition Classification Making sense of reality: Forming sets - classes of objects (based on common attributes) Source: Martin Classification Class membership dynamism: when we determine that a concept applies to a specific object, the object is classified as a member of a specific set . Source: Martin Employer / employee relationships Source: Martin Classification - categorization taxonomies • Classification - categorization: main step in object modeling • Many techniques and models for knowledge representation are based on categorization – clustering models – Set theoretical models – Semantic networks – Neurocognitive Model etc. etc. Classification - categorization taxonomies • Three approaches to classification – Top - Down (see DDC example) – Bottom up (see a faceted classification in Literature; class exercise) – Similarity to prototype (classical example fruits and birds) Generalization Source: Martin Generalization / specialization UML Notation INHERITANCE Source: Martin Aggregation: part - whole Source: Martin Aggregation & composition UML Notation Source: Martin