Object Oriented Software Engineering
Syllabus
Lectures: 3 periods per week
Tutorial: 1 period per week
Practical: 3 period per two weeks
Course Objectives
This course aims to give both theoretical and practical foundations on the software engineering and object oriented software engineering and also provide systematic approach planning, development, and managing of object oriented software engineering.
Theory
- Introduction to software and software engineering (5 Hrs)
- Introduction to software engineering
- Software processes and software process models
- Agile software developments
- Requirement engineering procoesses
- System modeling
- Software prototyping
- Object Oriented software develpment
- Object oriented Concepts and Modeling (8 Hrs)
- Introduction to Class, Object, Inheritance, Polymorphism
- Object Oriented system development
- Object Oriented Modeling
- Object Oriented System
- Function/data Methods
- Object Oriented Analysis
- Object Oriented Programming
- Object Oriented Construction
- Identifying the elements of an object model
- Identifying classes and objects
- Specifying the attributes
- Defining operations
- Finalizing the object definition
- Structural, Behavioral and architectural Modeling (8 Hrs)
- Classes Relationship
- Conceptual Model of UML
- Class diagram
- Advanced classes
- Advanced Relationship
- Interface
- Object Diagram
- Interactions
- Use cases
- Use case diagram
- Interaction Diagram
- Activity Diagram State chart Diagram
- Component and Components Diagram
- Deployment Diagram
- Object Oriented Analysis (5 Hrs)
- Iterative Development
- Unified process & UP Phases
- Inception
- Elaboration
- Construction
- Transition
- Understanding requirements
- UP disciplines
- Agile UP
- Object Oriented Design (8 Hrs)
- Components of OO Design model
- System Design Process
- Partitioning the analysis model
- Concurrency and subsystem allocation
- Task management component
- Object DBMS
- Data Management components
- Resource Management components
- Inter sub-system communication
- Object Design process
- Object Oriented Testing (6 Hrs)
- Overview of Testing and object oriented Testing
- Types of testing
- Unit testing
- Integrating testing
- System testing
- Object Oriented Testing strategies
- Test case for OO software
- Inter class test case design
- Managing object oriented software software engineering (5 Hrs)
- Project selection and preparation
- Project development, organization and management
- Software project planning and scheduling and techniques
- COCOMO model
- Risk management process
- Software quality assurance
- Software metrics
Practical
The practical shall include projects on object oriented system development. Choice of project depend upon the teacher and student, use case studies shall be included too.
References: 1. Ivar Jacobson, OOSE, Prentice Hous 2. Grady Booch, James Raumbaugh, Ivar Jacobson, The Unified Modeling Language User Guide, Prentce House. 3. Pressman, Software Engineering, MC Graw Hall Education 4. Sommer ville, Software Engineering, Pearson