Birla Institute of Technology & Science, Pilani Work-Integrated Learning Programmes Division First Semester 2012-2013 Course Handout Course No.
: SS ZG514
Course Title
: Object Oriented Analysis and Design
Instructor
: DIGAMBAR PAVAR
Course Description: Object orientation concepts, theories and principles; Fundamental concepts of the object model; classes, objects, methods and messages, encapsulation and inheritance, interface and implementation, reuse and extension of classes, inheritance and polymorphism; Process of object-oriented requirements specification, analysis and design; Notations for object-oriented analysis and design; Case studies and applications using some object oriented programming languages. Scope and Objectives To enable the student to understand and apply the OOAD concepts and UML techniques to any software development effort Prescribed Text Book
T1 Larman, Craig, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, Pearson Education, 3nd Ed., 2004. Reference Book (S) R1.
Barclay Savage, Object Oriented Design with UML and JAVA, Elsevier, 2008.
R2. Brown, D.W., An Introduction to Object-Oriented Analysis, Wiley, 2 nd Ed., 2004. R3. Mark Priestley, Practical Object Oriented Design with UML, TMH, 2 nd Ed., 2005. R4. Michael Bleha, James Rambaugh, Object-Oriented Modelling & Design with UML, Pearson, 2 nd Ed., 2005. R5.
Bahrami A., Object Oriented Systems Development using Unified Modeling Language, McGraw Hill, 1999.
R6.
Grady Booch et al., Unified Modeling Language User Guide, Pearson Education, 1999
R7.
Martin Fowler et al., UML Distilled, Pearson Education, 2000
R8.
Rebecca Wirfs-Brock et al., Designing Object-Oriented Software, PHI, 1996
R9.
Bruegge B., Object-Oriented Software Engineering, Pearson, 2000.
SS ZG514
Course Handout
First Semester 2012-2013
Page 2
Plan of Self Study Week No. 1
2
Topic Introduction to Object-Oriented Analysis and Design, A Short Example., Overview of UML and Visual agile Modeling, History.
Overview of UP, Iterative and Evolutionary Development, Waterfall Lifecycle, Iterative and Evolutionary Analysis and Design, Risk-Driven and Client-Driven Iterative Planning, Agile Methods and Attitudes, Agile Modeling, Agile UP, UP Phases, UP Disciplines, the UP Development Case Case Study Strategy: Iterative Development + Iterative Learning, Case One: The NextGen POS System, Case Two: The Monopoly Game System. Definition of Inception, Inception Artifacts
3 Definition: Requirements, Evolutionary vs. Waterfall Requirements, Skillful Means to Find Requirements, Types and Categories of Requirements, UP Requirements Artifacts and its organization. Definition of Actors, Scenarios, and Use Cases, Use Cases and the Use-Case Model. Motivation for the Use Cases, Three Kinds of Actors, Three Common Use Case Formats, Example: Process Sale, Fully Dressed Style. Guideline to find Use Cases. Applying UML: Use Case Diagrams, Applying UML: Activity Diagrams, Other Benefits of Use Cases, Example: Monopoly Game, Process: How to Work With Use Cases in Iterative Methods? 4 Showing the Supplementary Specification, Glossary, Vision & Business Rules, Evolutionary Requirements in Iterative Methods. Iteration 1 Requirements and Emphasis: Core OOA/D Skills. Process: Inception and Elaboration. Process: Planning the Next Iteration. 5 Domain Model, Motivation for the Creation of a Domain Model, Guideline to Create a Domain Model and to find Conceptual Classes, Example: Find and Draw Conceptual Classes. Agile Modeling-Sketching a Class Diagram. Guideline: Agile Modeling-Maintain the Model in a Tool? Guideline: Report Objects-Include ‘Receipt’ in the Model? A Common Mistake with Attributes vs. Classes. Associations, Attributes in domain model. Iterative and Evolutionary Domain Modeling.
Learning Objectives
Reference to Text Book To understand the basics T1-Ch.1 of Object – Oriented Analysis and Design and UML To define an iterative and T1-Ch.2 agile process and to define fundamental concepts in the Unified Process.
Case Studies
T1-Ch.3
To define the Inception T1-Ch.4 step To Understand the T1-Ch.5 evolution of Requirements
To Learn Model
Use
To Identify Requirements
Case T1-Ch.6
Other T1-Ch.7
To define the first T1-Ch.8 iteration in the elaboration phase To create an initial T1-Ch.9 Domain Model.
Example: NextGen SSD. System Sequence Diagrams, Motivation, Applying UML: Sequence Diagrams. Relationship Between SSDs and Use Cases, Naming the System Events and Operations, Modeling SSDs Involving Other External Systems, Example: Monopoly SSD. Iterative and Evolutionary SSDs.
To create system T1-Ch.10 sequence diagrams
SS ZG514
Course Handout
First Semester 2012-2013
Page 3
Plan of Self Study Week No. 6
Topic
System Operation, Contracts Usefulness, Guideline to Create and Write Contracts. Example: NextGen POS Contracts. Example: Monopoly Contracts. Applying UML: Operations, Contracts, and the OCL. Process: Operation Contracts within the UP. Iterative process. Provoking Early Change. 7
Logical Architecture, Focus in the Case Studies, Software Architecture, Applying UML: Package Diagrams. The Model-View Separation Principle. Connection between SSDs, System Operations, and Layers, Example: NextGen Logical Architecture and Package Diagram. Example: Monopoly Logical Architecture. Agile Modeling and Lightweight UML Drawing. UML CASE Tools. Static and Dynamic Modeling, The Importance of Object Design Skill over UML Notation Skill. Other Object Design Techniques: CRC Cards.
8 Sequence & Communication Diagrams. Common UML Interaction Diagram Notation. Basic Sequence Diagram Notation. Basic Communication Diagram Notation.
9 10
11
Learning Objectives
Reference to Text Book To define system operations T1-Ch.11 and to create contracts for system operations
To quickly motivate the T1-Ch.12 transition to design activities To introduce a Logical T1-Ch.13 Architecture and UML Package Diagrams
To understand dynamic and T1-Ch.14 static object design modeling
To learn Diagrams
Interaction T1-Ch.15
To learn Class Diagrams Applying UML: Class Diagram Notation. Relationship between Interaction and Class Diagrams Review Session Syllabus for Mid-Semester Test (Closed Book): Topics in Week No. 1 to 9 To learn to apply five of the GRASP principles or UML versus Design Principles. GRASP: A patterns for OOD Methodical Approach to Basic OO Design. Connection between Responsibilities, GRASP, and UML Diagrams. Patterns, A Short Example of Object Design with GRASP. Applying GRASP to Object Design. Creator. Information Expert (or Expert). Low Coupling. Controller. High Cohesion. Object Design Examples with GRASP Use Case Realization, Use Case Realizations for the NextGen Iteration. Use Case Realizations for the Monopoly Iteration. Iterative and Evolutionary Object Design. To identify kinds of Visibility and designing to Visibility Between Objects, Visibility, Four kinds of establish visibility visibility. To map design artifacts to code Programming and Iterative, Evolutionary Development, Mapping Designs to Code , Creating Class Definitions from DCDs, Creating Methods from
T1-Ch.16
T1-Ch.17
T1-Ch.18
T1-Ch.19
T1-Ch.20
Interaction Diagrams, Collection Classes in Code, Exceptions and Error Handling, Defining the Sale.makeLineItem Method. Order of Implementation. Test-Driven or Test-First Development. Introduction to the NextGen POS Program Solution.
SS ZG514
Course Handout
First Semester 2012-2013
Page 4
Plan of Self Study Week No. 12
Topic
Test-Driven Development. Refactoring Forward, Reverse, and Round-Trip Engineering. Common Report of Valuable Features, suggestions for choosing a UML tool, suggestions on how to integrate UML wall sketching and tools. 13 Case Study: NextGen POS. Case Study: Monopoly. From Iteration 1 to 2. Iteration-2 Requirements and Emphasis: Object Design and Patterns. 14 Polymorphism. Pure Fabrication. Indirection. Protected Variations. Adapter (GoF). Factory. Singleton (GoF). Strategy (GoF). Composite (GoF) and Other Design Principles. Facade (GoF). Observer/PublishSubscribe/Delegation Event Model (GoF). 15 NextGen POS. Monopoly. UML Activity Diagram Notation. Guidelines. Example: NextGen Activity Diagram. 16 Definitions: Events, States, and Transitions. UML State Machine Diagram Notation. Example: NextGen Use Case State Machine Diagram.
Learning Objectives
Reference to Text Book T1-Ch.21
To introduce Test Driven Development and Refactoring To learn UML Tools and T1-Ch.22 UML as Blueprint
For the Quick Analysis Update To define the requirements for the iteration-2.
T1-Ch.23
To apply the remaining GRASP patterns
T1-Ch.25
To introduce and apply some GoF design patterns
T1-Ch.26
To define the requirements for the iteration-3. To introduce UML activity diagram notation, with examples, and various modeling applications To introduce UML state machine diagram notation, with examples, and various modeling applications To Relate Use Cases
T1-Ch.27
T1-Ch.24
T1-Ch.28
T1-Ch.29
T1-Ch.30
The include Relationship. Terminology: Concrete, Abstract, Base, and Addition Use Cases. The extend Relationship. The generalize Relationship. Use Case Diagrams. 17 New Concepts for the NextGen Domain Model. Generalization. Defining Conceptual Superclasses and Subclasses. NextGen POS Conceptual Class Hierarchies. Abstract Conceptual Classes. Modeling Changing States. Class Hierarchies and Inheritance in Software. Association Classes. Aggregation and Composition. Association Role Names. Roles as Concepts versus Roles in Associations. Derived Elements. Qualified Associations. Reflexive Associations. Using Packages to Organize the Domain Model. Example: Monopoly Domain Model Refinements. Architectural Analysis, Variation and Evolution
To understand Domain T1-Ch.31-32 Model Refinement
To understand Architectural Analysis
T1-Ch.33
18
Points. Common Steps in Architectural Analysis. Identification and Analysis of Architectural Factors. Example: Partial NextGen POS Architectural Factor Table. Review Session Syllabus for Comprehensive Exam (Open Book): All topics given in Plan of Self Study
SS ZG514
Course Handout
First Semester 2012-2013
Page 5
Evaluation Scheme: EC No. EC-1
EC-2 EC-3
Evaluation Component & Type of Examination Assignment/Quiz
Duration
Weightage
Day, Date, Session,Time
** Details to be announced on LMS Taxila website by Instructor
15%
2 Hours
35%
3 Hours
50%
** Details to be announced on LMS Taxila website by Instructor by 24th July, 2012 Sunday, 09/09/2012 (FN)* 10 AM – 12 Noon Sunday, 04/11/2012 (FN)* 9 AM – 12 Noon
Mid-Semester Test (Closed Book)* Comprehensive Exam (Open Book)*
** Please check the details by 24th July, 2012 on LMS Taxila web site. * Legend: AN: AfterNoon Session; FN: ForeNoon Session Closed Book Test: No reference material of any kind will be permitted inside the exam hall. Open Book Exam: Use of any printed / written reference material (books and notebooks) will be permitted inside the exam hall. Loose sheets of paper will not be permitted. Computers of any kind will not be allowed inside the exam hall. Use of calculators will be allowed in all exams. No exchange of any material will be allowed. Note: It shall be the responsibility of the individual student to be regular in maintaining the self study schedule as given in the course handout, attend the online/on demand lectures as per details that would be put up in the BITS LMS Taxila website www.taxila.bits-pilani.ac.in and take all the prescribed components of the evaluation such as Assignment (Course Page on LMS Taxila), Mid Semester Test and Comprehensive Examination according to the Evaluation Scheme given in the respective Course Handout. If the student is unable to appear for the Regular Test/Examination due to genuine exigencies, the student must refer to the procedure for applying for Make-up Test/Examination, which will be available through the Important Information link on the BITS WILP website on the date of the Regular Test/Examination. The Make-up Tests/Exams will be conducted only at selected exam centres on the dates to be announced later. Instructor-In-Charge