OOSE
OOSE
OOSE
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)
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)
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
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
141