You are on page 1of 3

19EAI334:OOSE Based application Development

L T P C
2 0 2 3
Object Oriented Software Engineering builds on the skills of Software Engineering Methodologies and
emphasizes the iterative and incremental nature of the software development process best illustrated
by currently practiced Agile Modelling and Unified Process techniques. This course provides you with
the necessary preparation for a software development project. You will continue to develop the
problem solving skills required of a systems analyst through the analysis and design of business, health
and gaming systems.. All diagrams are UML-based, and a Visual Modelling Case Tool is used to
prepare diagrams. You will also use a project management tool in managing the deliverables.
Course objectives:
1. Understand software engineering concepts along with their applicability contexts.
2. Given a problem, identify domain objects, their properties and relationships among them.
3. Identify and model/represent domain constraints on the objects and (or) on their relationships
4. Develop design solutions for problems on various O-O concepts
5. Learn various modelling techniques to model different perspectives of object-oriented
software design (UML)

Module I: Introduction to Software Engineering Number of hours(LTP) 6 0 6


Introduction: Software engineering Failures, What Is Software Engineering? : Modelling ,Problem
Solving, Knowledge Acquisition, Rationale ,Software Engineering Development Activities:
Requirements Elicitation, Analysis , System Design , Object Design, Implementation, Testing ,
ARENA Case study
An Overview of UML :Use Case Diagrams, Class Diagrams, Interaction Diagrams ,State Machine
Diagrams ,Activity Diagrams
Modelling Concepts : Systems, Models, and Views-Data Types, Abstract Data Types, and Instances
-Classes, Abstract Classes, and Objects -Event Classes, Events, and Messages - Object-Oriented
Modelling- Falsification and Prototyping
Learning Outcomes:
After completion of this unit, the student will be able to:
1. Understands the basics of software engineering(L1)
2. Familiarize with usage of UML(L2)
3. Illustrate modelling concepts(L2)

Module II: More UML & Analysis Number of hours(LTP) 6 0 6


A Deeper View into UML : Use Case Diagrams ,Class Diagrams , Interaction Diagrams ,State
Machine Diagrams ,Activity Diagrams , Diagram Organization ,Diagram Extensions
Analysis Concepts :Analysis Object Models and Dynamic Models - Entity, Boundary, and Control
Objects - Generalization and Specialization
Analysis Activities: From Use Cases to Objects
Identifying Entity Objects, Identifying Boundary Objects, Identifying Control Objects, Mapping Use
Cases to Objects with Sequence Diagrams, Modelling Interactions among Objects with CRC Cards
,Identifying Associations ,Identifying Aggregates ,Identifying Attributes , Modelling State-
Dependent Behaviour of Individual Objects, Modelling Inheritance Relationships between Objects,
Reviewing the Analysis Model Analysis Summary ,ARENA Case study
Learning Outcomes:
After completion of this unit, the student will be able to:
1. Categorize various uml diagrams(L4)
2. Illustrate Analysis concepts(L2)
3. Familiarize with Analysis activities(L2)
4. Apply the Analysis activities(L4)

139
Module III: System Design Number of hours(LTP) 6 0 6
System Design: Decomposing the System
System Design Concepts: Subsystems and Classes, Services and Subsystem Interfaces, Coupling
and Cohesion, Layers and Partitions, Architectural Styles System Design Activities: From Objects to
Subsystems, Analysis Model for a Route Planning System, Identifying Design Goals ,Identifying
Subsystems
System Design: Addressing Design Goals
An Overview of System Design Activities, Concepts: UML Deployment Diagrams,
System Design Activities: Addressing Design Goals: Mapping Subsystems to Processors and
Components, Identifying and Storing Persistent Data, Providing Access Control, Designing the
Global Control Flow, Identifying Services, Identifying Boundary Conditions, Reviewing System
Design, ARENA Case study
Learning Outcomes:
After completion of this unit, the student will be able to:
1. Understands the basics of System design(L1)
2. Familiarize with Design goals(L2)
3. Apply the system design(L4)

Module IV: Object Design Number of hours(LTP) 6 0 6


Object Design: Reusing Pattern Solutions
Reuse Concepts, Reuse Activities: Selecting Design Patterns and Components Encapsulating Data
Stores with the Bridge Pattern , Encapsulating Legacy Components with the Adapter Pattern
,Encapsulating Context with the Strategy Pattern ,Encapsulating Platforms with the Abstract Factory
Pattern ,Encapsulating Control Flow with the Command Pattern , Encapsulating Hierarchies with the
Composite Design Pattern , Heuristics for Selecting Design Patterns , Identifying and Adjusting
Application Frameworks
Object Design: Specifying Interfaces,
Interface Specification Concepts: Class Implementor, Class Extender, and Class User, Types,
Signatures, and Visibility, Contracts: Invariants, Preconditions, and Postconditions, Object
Constraint Language, OCL Collections: Sets, Bags, and Sequences, OCL Quantifiers: for All and
exists, ARENA Case study
Learning Outcomes:
After completion of this unit, the student will be able to:
1. Understands the basics of Object design(L1)
2. Familiarize with Object design with patterns(L2)
3. Apply the Object design(L4)

Module V: Coding & Testing Number of hours(LTP) 6 0 6


Mapping Models to Code
Mapping Concepts Model Transformation, Refactoring, Forward Engineering, Reverse Engineering,
Transformation Principles, Mapping Activities: Optimizing the Object Design Model, Mapping
Associations to Collections, Mapping Contracts to Exceptions, Mapping Object Models to a
Persistent Storage Schema, ARENA Case study
Testing:
An Overview of Testing, Testing Concepts: Faults, Erroneous States, and Failures, Test Cases, Test
Stubs and Drivers, Corrections Testing Activities: Component Inspection, Usability Testing, Unit
Testing, Integration Testing, System Testing Managing Testing: Planning Testing, Documenting
Testing ,Assigning Responsibilities ,Regression Testing, Automating Testing
Learning Outcomes:
After completion of this unit, the student will be able to:
1. Understands mapping models to code (L1)
2. Apply Forward and Reverse engineering(L4)
3. Adapt various testing strategies(L6)
4. Familiarize with Automated Testing(L2)

140
Text Books(s)
1. Bernd Bruegge and Allen H. Dutoit, Object-Oriented Software Engineering Using UML,
Patterns, and Java, Prentice-Hall.
2. Michael R. Blaha and James R Rumbaugh, Object-Oriented Modeling and Design with
UML, Prentice Hall
Reference Book(s)
1. Craig Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis
and Design and the Unified Process, Prentice-Hall.
2. Stephen R. Schach, Object-Oriented Software Engineering, McGraw-Hill
3. Stephen R. Schach, Introduction to Object-Oriented Analysis and Design, McGraw-Hill
Course Outcomes:
1. Describe the OOAD paradigm (Unified Processes)
2. Employ the UML diagramming standards.
3. Demonstrate use of a software tool to support the planning, analysis and design phases
4. Use a case tool for all UML diagrams.
5. Develop prototypes of the system design, code, and Testing

Lab Activities Suggested:

Draw standard UML diagrams using a UML modelling tool and map design to code and implement.
Test the developed code and validate whether the SRS is satisfied to a semester-long software
engineering project by following the sequence of steps given below
1. Identifying Requirements from Problem Statements
2. Modelling UML Use Case Diagrams and Capturing Use Case Scenarios
3. Identifying Domain Classes from the Problem Statements
4. State chart and Activity Modelling
5. Modelling UML Class Diagrams and Sequence Diagrams
6. Mapping diagram to code (Forward Engineering)
7. Designing Test Suites

*Project can be carried out in teams

Reference Books & web links


1. Bernd Bruegge & Allen H. Dutoit, “Object-Oriented Software Engineering”,2009.
2. Ivar Jacobson, “Object-Oriented Software Engineering”, Pearson Education,2009.
3 Stephen R. Schach, “Object-Oriented Classical Software Engineering”, McGraw Hill, 2010.
4 Yogesh Singh, “Object-Oriented Software Engineering”, 2012
https://pl.cs.jhu.edu/oose/resources/tools.shtml
http://www.cse.lehigh.edu/~glennb/oose/oose.htm
https://www.upgrad.com/blog/software-development-project-ideas-topics-for-beginners/
http://www.cs.gordon.edu/courses/cs211/ATMExample/index.html

141

You might also like