CCS356-Object
Oriented Software
Engineering
Aim Of Concept:
• To understand Software Engineering Lifecycle Models
• To Perform software requirements analysis
• To gain knowledge of the System Analysis and Design concepts using
UML.
• To understand software testing and maintenance approaches
• To work on project management scheduling using DevOps
• Introduction to Software Engineering, Software Process, Perspective and
Specialized Process Models –Introduction to Agility-Agile process-
Extreme programming-XP Process-Case Study.
Unit II: Requirements Analysis And Specification
• Requirement analysis and specification – Requirements gathering and
analysis – Software Requirement Specification – Formal system
specification – Finite State Machines – Petrinets – Object modelling
using UML – Use case Model – Class diagrams – Interaction diagrams –
Activity diagrams – State chart diagrams – Functional modelling – Data
Flow Diagram- CASE TOOLS.
Unit III: Software Design
• Software design – Design process – Design concepts – Coupling –
Cohesion – Functional independence – Design patterns – Model-view-
controller – Publish-subscribe – Adapter – Command – Strategy –
Observer – Proxy – Facade – Architectural styles – Layered – Client
Server – Tiered Pipe and filter- User interface design-Case Study.
Cont.,
Unit V: Project Management
• Software Project Management- Software Configuration Management
– Project Scheduling- DevOps: Motivation-Cloud as a platform-
Operations- Deployment Pipeline: Overall Architecture Building and
Testing-Deployment- Tools- Case Study
• Text Books:
• Bernd Bruegge and Allen H. Dutoit, “Object-Oriented Software
Engineering: Using UML, Patterns and Java”, Third Edition, Pearson
Education, 2009.
• Roger S. Pressman, Object-Oriented Software Engineering: An Agile
Unified Methodology, First Edition, Mc Graw-Hill International Edition,
2014.
Object Oriented Software
Engineering (OOSE)
• Object Oriented Software Engineering (OOSE) is a software design
technique that is used in software design in object-oriented
programming.
• OOSE is developed by Ivar Jacobson in 1992. OOSE is the first object-
oriented design methodology that employs use cases in software design.
• OOSE is one of the precursors of the Unified Modeling Language (UML)
Classes and objects are fundamental building blocks of an Object –
Oriented Software Engineering.
• We organize software as a collection of discrete objects that incorporate
both data structures and behaviours.
Software Engineering
• Software:
• the software is basically a set of instructions or commands that tell a
computer what to do.
• S/W Engineering:
• Software engineering is the branch of computer science that deals
with the design, development, testing, and maintenance of software
applications. Software engineers apply engineering principles and
knowledge of programming languages to build software solutions for
end users.