Uq23ca654a 20231114215430

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

OBJECT ORIENTED SOFTWARE

ENGINEERING

Ms. Archana A
Department of Computer Applications
OBJECT ORIENTED SOFTWARE ENGINEERING
(OOSE)

Course Introduction

Ms. Archana A
Department of Computer Applications
OBJECT ORIENTED SOFTWARE ENGINEERING
Course Introduction

OOSE course

• Software Engineering gives an idea of how industrial-strength “software” gets


developed.

• The course includes study on Importance of software engineering, approaches


and methodologies with object orientation essence.

• Course also highlights on different tasks in a Project or a case study.


OBJECT ORIENTED SOFTWARE ENGINEERING
Introduction…

• The course helps to understand


• what is software engineering and its importance;
• SDLC – Software Development Life Cycle
• How to Plan, develop and manage a software project by using the
Object oriented software engineering concepts, in-detail.

• At the end one must have the ability to plan, Design, Execute, and manage
small software projects
OBJECT ORIENTED SOFTWARE ENGINEERING
Course Description

Course Overview:

• Software engineering is a discipline that allows us to apply engineering and


computer science concepts in the development and maintenance of reliable,
usable, and dependable software.

• The course is designed to present software engineering concepts and object


oriented approach in parallel with the software development life cycle.
OBJECT ORIENTED SOFTWARE ENGINEERING
Course Content

Unit-1: Software Process


Unit-2: Modeling
Unit-3: Design Engineering
Unit-4: Software Testing
OBJECT ORIENTED SOFTWARE ENGINEERING
Detailed Course Content

Unit 1: Software Process


Process Models: Introduction to software and software engineering, The
nature of software, The software Process, A generic process Model, Defining a
Framework activity, Prescriptive Process Models.
Agility and Process: What is agility?, What is an agile process? Agility
principles, Scrum, Other Agile Frameworks – the XP framework, Kanban,
DevOps.
Review of Object Orientation: Object oriented aspects, OO Methodology, OO
Themes.

Experiential Learning: Case study on perspective models, tutorial session on


object-oriented aspects – class, objects, inheritance and polymorphism
OBJECT ORIENTED SOFTWARE ENGINEERING
Detailed Course Content…

Unit 2: Modeling

Understanding Requirements: Requirements Engineering Tasks,


Requirements gathering, SRS, Developing Use cases, Requirements Analysis:
Requirements modelling approaches, Scenario-Based modelling, Class-Based
Modeling, Functional Modeling, Behavioural Modeling.

Experiential Learning: Using StarUML tool generating Use case diagram, Class
diagram, Sequence diagrams and Activity diagrams
OBJECT ORIENTED SOFTWARE ENGINEERING
Detailed Course Content…

Unit 3: Design Engineering


Design Concepts -Design within the Context of Software Engineering, Design Concepts-
Abstraction, Architecture, Pattern, Separation of concerns, Modularity, Information
hiding, Functional Independence, Refinement, Aspects, Refactoring, Object oriented
design concepts, design classes, The Design Model.

Architectural Design: Architectural Genres, Architectural Styles. Pattern Based Design –


Architectural Pattern- MVC, Design Patterns: Communication pattern – Publisher
Subscriber, Forwarder Receiver pattern, Client-Dispatcher-Server pattern.

Experiential Learning: Hands-on exercise on Architectural patterns and Design patterns


using UML diagrams.
OBJECT ORIENTED SOFTWARE ENGINEERING
Detailed Course Content…
Unit 4: Software Testing
Software Testing – Component level: A strategic approach to software testing –
verification and validation, organizing for software testing, Test strategies for
conventional software- Unit testing, Integration testing, Regression Testing, Smoke
testing, Object-oriented Testing. Software Testing – Integration Level: Software
testing fundamentals-Black-box testing and White-box testing, Integration Testing,
Top-Down, Bottom-up integration, Regression Testing. Validation- Alpha and Beta
testing, System testing

Experiential Learning: Study on various types of System testing - Functionality


testing, Recovery testing, Performance testing, Scalability testing, Reliability testing,
Security testing, Stress testing, Load Testing etc.
OBJECT ORIENTED SOFTWARE ENGINEERING
Book references

Text Book:
1. “Software Engineering – A Practitioner’s Approach”, Roger S Pressman, Tata
McGraw Hill, 9th Edition, 2020.

Reference Books:
1. Object Oriented Software Engineering Practical software development using UML
and Java, Timothy C Lethbridge and Robert Liganiere, 2nd Edition, TATA McGraw Hill
publication.

2. Michael Blaha, James Rumbaugh, Object-Oriented Modeling and Design with


UML, Pearson Education, 2nd Edition, 2005.

3. Frank Buschmann, RegineMeunier, Hans Rohnert, Peter Sommerlad, Michael Stal,


Pattern- Oriented Software Architecture, A System of Patterns, Volume 1, John
Wiley and Sons, Wiley India Edition, 2008
THANK YOU

Ms. Archana A
Department of Computer Applications
archana@pes.edu
+91 80 6666 3333 Extn 392

You might also like