0% found this document useful (0 votes)
22 views

10(8)

The document outlines a course on Object-Oriented Software Engineering (OOSE) for the IV Semester, focusing on the principles of OOP, UML, and software development processes. It includes course objectives, outcomes, detailed units covering topics from requirements analysis to advanced OOSE concepts, as well as suggested co-curricular activities and evaluation methods. Additionally, it lists suggested software tools and a series of experiments for practical application of the learned concepts.

Uploaded by

Ravi Potnuru
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views

10(8)

The document outlines a course on Object-Oriented Software Engineering (OOSE) for the IV Semester, focusing on the principles of OOP, UML, and software development processes. It includes course objectives, outcomes, detailed units covering topics from requirements analysis to advanced OOSE concepts, as well as suggested co-curricular activities and evaluation methods. Additionally, it lists suggested software tools and a series of experiments for practical application of the learned concepts.

Uploaded by

Ravi Potnuru
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

IV Semester

Course 10: Object Oriented Software Engineering


Credits -3

Course Objective:
To introduce Object-oriented software engineering (OOSE) - which is a popular technical approach
to analyzing, designing an application, system, or business by applying the object- oriented paradigm
and visual modeling.
Course Outcomes:
Upon successful completion of the course, a student will be able to:
1. Understand and apply the fundamental principles of Object-Oriented Programming (OOP)
concepts and Unified Modeling Language (UML) basics, in the development of software
solutions.
2. Analyze and specify software requirements, develop use cases and scenarios, apply object-
oriented analysis and design (OOAD) principles
3. Familiar with the concept of test-driven development (TDD) and its practicalimplementation
4. Analyze and Evaluate Software Maintenance and Evolution Strategies
5. Apply Advanced Object-Oriented Software Engineering Concepts

UNIT-I
Introduction to Object-Oriented Programming: Overview of software engineering, Introduction to
Object-Oriented Programming (OOP) concepts (classes, objects, inheritance, polymorphism), Unified
Modelling Language (UML) basics, Introduction to software development process and software
development life cycle (SDLC).
UNIT-II
Requirements Analysis and Design: Requirements analysis and specification, Use cases and
scenarios, Object-oriented analysis and design (OOAD), Design patterns, UML modelling techniques
(class diagrams, sequence diagrams, state machine diagrams, activity diagrams)
UNIT-III
Software Construction and Testing: Software construction basics, Object-oriented design principles,
Object-oriented programming languages (Java, C++, Python), Software testing basics (unit testing,
integration testing, system testing), Test-driven development (TDD)

UNIT-IV
Software Maintenance and Evolution: Software maintenance basics, refactoring techniques Software
version control, Code review and inspection, Software evolution and reengineering
UNIT-V
Advanced Topics in Object-Oriented Software Engineering: Model-driven engineering (MDE),
Aspect-oriented programming (AOP), Component-based software engineering (CBSE), Service-
oriented architecture (SOA), Agile software development and Scrum methodologies.

Text Book(s)
1. An Introduction to Object-Oriented Analysis and Design and the Unified Process, 3rd
Edition, Craig Larman, Prentice-Hall.
2. Programming in Java by Sachin Malhotra, Oxford University Press
Reference Books
1. Requirements engineering: processes and techniques, G.Kotonya and, I.Sommerville, 1998,
Wiley
2. Design Patterns, E.Gamma, R. Helm, R. Johnson, and J. Vlissides
3. The Unified Modeling Language Reference Manual, J. Rumbaugh, I.Jacobson and G.
Booch, Addison Wesley

SUGGESTED CO-CURRICULAR ACTIVITIES & EVALUATION METHODS:


Unit 1: Activity: Group Activity: Design and implement a small OOP project
Evaluation Method: Presentation evaluation rubric, Project evaluation based on OOP
principles.
Unit 2: Activity: Use Case Scenario Presentation & Peer Activity: Review and provide feedback
on each other's use case diagrams
Evaluation Method: Presentation evaluation rubric, Peer feedback assessment.
Unit 3: Activity: Poster Presentation: Illustrate TDD principles and benefits
Evaluation Method: Poster presentation evaluation
Unit 4: Activity: Peer Activity: Analyze and discuss different maintenance strategies
Evaluation Method: Peer discussion participation evaluation
Unit 5: Activity: Seminar on Design Patterns
Evaluation Method: Depth of research, clarity of explanations, ability to address questions
and engage the audience.
IV Semester
Course 10: Object Oriented Software Engineering
Credits -1

Suggested Software Tools: StarUML/UMLGraph/Topcased/Umberollo/ArgoUML/ Eclipse IDE,


Visual Paradigm for UML/Rational Software Architect/Any other Open Source Tool

List of Experiments:
Select domain of interest (e.g. College Management System) and identify multi-tier software
application to work on (e.g. Online Fee Collection). Analyze, design and develop this application
using OOSE approach:
1. Develop an IEEE standard SRS document. Also develop risk management and project plan
(Gantt chart).
2. Understanding of System modeling: Data model i.e. ER – Diagram and draw the ER Diagram
with generalization, specialization and aggregation of specified problem statement
3. Understanding of System modeling: Functional modeling: DFD level 0 i.e. Context Diagram
and draw it
4. Understanding of System modeling: Functional modeling: DFD level 1 and DFD level 2 and
draw it.
5. Identify use cases and develop the use case model.
6. Identify the business activities and develop an UML Activity diagram.
7. Identity the conceptual classes and develop a domain model with UML Class diagram.
8. Using the identified scenarios find the interaction between objects and represent them using
UML Interaction diagrams.
9. Draw the state chart diagram.
10. Identify the user interface, domain objects, and technical services. Draw the partial layered,
logical architecture diagram with UML package diagram notation.
11. Implement the technical services layer.
12. Implement the domain objects layer.
13. Implement the user interface layer.
14. Draw component and deployment diagrams.

You might also like