• ↑↓ pour naviguer
  • pour ouvrir
  • pour sélectionner
  • ⌘ ⌥ ↵ pour ouvrir dans un panneau
  • ←→ pour naviguer
  • esc pour rejeter
⌘ '
raccourcis clavier

Object Oriented Analysis and Design

Course Code: IC-905A
Course Type: Core
Course Credits: 4-Theory: 2-Practical

Course Objective

The course aims to enable the students to have a thorough understanding of the activities associated to develop projects. And establish the flow of events by making a planning that how software can be shown in its entirety prior to its implementation using Object Oriented Analysis and Design techniques.

Course Outcomes

After completion of the course, student will:

  • CO1: Be able to analyze and model software specifications
  • CO2: Gain insight about the RUP process model and best practices of RUP.
  • CO3: Be able to apply the Unified Modeling Language (UML) towards analysis and design of software projects.
  • CO4: Develop the skills to determine which processes and OOAD techniques should be applied to a given real world project.

Course Contents

Unit 1: Review of Object Oriented Concepts and Principles

  • Contents: The Object Oriented Paradigm, Basic Concepts, Software Development Life Cycle and Model Architectures, Object Technology, Basic Principal of Object Orientation.
  • Hours: 6
  • Targeted Levels of Bloom’s Taxonomy: 1 and 2*
  • Learning Outcomes (LO):
    • LO1: Describe the fundamental concepts of Object Oriented Paradigm.
  • Resources: B. No. -1, B. No. -2 (Lecture), Coursera, GeeksforGeeks
  • Assignment: Assign: Present the principles and concepts of object-oriented programming

Unit 2: Introduction to RUP

  • Contents: Basic Concepts, Symptoms in Software Development and their Root Causes, Best Practices of RUP, RUP software life cycle, 4+1 view model, Various Workflows.
  • Hours: 6
  • Targeted Levels of Bloom’s Taxonomy: 1, 2 and 3*
  • Learning Outcomes (LO):
    • LO1: Explain RUP software life cycle and 4+1 view model.
  • Resources: B. No. -1, B. No. -2 and related text from other referred readings (Lecture), Coursera, GeeksforGeeks
  • Assignment: Assign: Design system software framework using RUP.

Unit 3: Introduction to UML

  • Contents: UML: its road map, Notations, modeling, mechanisms, Relationships and their representation, Study of UML based tools.
  • Hours: 6
  • Targeted Levels of Bloom’s Taxonomy: 1, 2, 3 and 4*
  • Learning Outcomes (LO):
    • LO1: Apply and analyze implementation of software system using UML.
  • Resources: B. No. -1, B. No. -2 and related text from other referred readings (Lecture), Coursera, GeeksforGeeks
  • Assignment: Assign: Develop a software design using UML.

Unit 4: Requirements Management

  • Contents: Key concepts, problem statement, Glossary, use-case model, supplementary specification, functional and nonfunctional requirements.
  • Hours: 6
  • Targeted Levels of Bloom’s Taxonomy: 1, 2, 3 and 4*
  • Learning Outcomes (LO):
    • LO1: Explain the various types of requirements and their representation for a software project.
  • Resources: B. No. -1, B. No. -2 and related text from other referred readings (Lecture), Coursera, GeeksforGeeks
  • Assignment: Assign: Evaluating and refine software designs to meet functional and non-functional requirements.

Unit 5: Analysis and design overview

  • Contents: Architectural analysis-layers. Use case Analysis- Activity diagram, Analysis class Model. Responsibilities, attributes and association.
  • Hours: 6
  • Targeted Levels of Bloom’s Taxonomy: 1, 2, 3 and 4*
  • Learning Outcomes (LO):
    • LO1: Analyze and represent the design in terms of Upper layer and lower layer architecture.
  • Resources: B. No. -1, B. No. -2 and related text from other referred readings (Lecture), Coursera, GeeksforGeeks
  • Assignment: Assign: Construct the VOPC model for a software.

Unit 6: Object Oriented Design

  • Contents: Architectural design, Class diagram Behavioral Modeling: Interaction Diagram, State chart Diagram, Implementation Diagram: Component and deployment Diagram.
  • Hours: 5
  • Targeted Levels of Bloom’s Taxonomy: 1, 2, 3 and 4*
  • Learning Outcomes (LO):
    • LO1: Compare and contrast analysis classes and analysis mechanisms using UML.
  • Resources: B. No. -1, B. No. -2 and related text from other referred readings (Lecture), Coursera, GeeksforGeeks
  • Assignment: Assign: Compare and Contrast analysis classes and analysis mechanisms using UML.

Unit 7: Describe concurrency and Describe distribution

  • Contents: Use-case design, Subsystem Design, Class design, package.
  • Hours: 5
  • Targeted Levels of Bloom’s Taxonomy: 1, 2, 3 and 4*
  • Learning Outcomes (LO):
    • LO1: Demonstrate the design in terms of Class design and Sub-system design.
  • Resources: B. No. -1, B. No. -2 and related text from other referred readings (Lecture), Coursera, GeeksforGeeks
  • Assignment: Assign: Draw and discuss the Use-case design, Subsystem Design, Class design.

* 1- Remember, 2- understand, 3- Apply, 4- Analyze, 5-Evaluate, 6-Create

Books and Reading

  1. Grady Booch, James Rumbaugh, Ivar Jacobson, “The Unified Modelling Language User Guide”, 2nd Edition, Pearson Education, 2005.(Text Book)
  2. Stephen R. Schach, “Object Oriented Classical Software Engg.” Tata McGraw Hill, 2007.
  3. Gamma G.Helm, Johnson, “Design Patterns, Elements of Reusable Object Oriented Software”,First Edition, Pearson, 2015.
  4. Ivon Jacobson, “Object Oriented Software Engineering”, First Edition, Addison Wesley, 1992.
  5. Phillipe Kruchten, “The Rational Unified Process - An Introduction”, 3rd Edition, Pearson Ed. 2003.
  6. Ivar J, Grady B, James R., “The Unified Software Development Process”, Pearson Ed. 2003.
  7. Timothy C. Lethbridge, Robert Laganiere, “Object Oriented Software Engg.”, Tata McGraw Hill, 2004.
  8. IBM Rational Modules