Skip to the content.

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

  1. Introduction to software and software engineering (5 Hrs)
    1. Introduction to software engineering
    2. Software processes and software process models
    3. Agile software developments
    4. Requirement engineering procoesses
    5. System modeling
    6. Software prototyping
    7. Object Oriented software develpment
  2. Object oriented Concepts and Modeling (8 Hrs)
    1. Introduction to Class, Object, Inheritance, Polymorphism
    2. Object Oriented system development
      1. Object Oriented Modeling
      2. Object Oriented System
      3. Function/data Methods
      4. Object Oriented Analysis
      5. Object Oriented Programming
      6. Object Oriented Construction
    3. Identifying the elements of an object model
      1. Identifying classes and objects
      2. Specifying the attributes
      3. Defining operations
      4. Finalizing the object definition
  3. Structural, Behavioral and architectural Modeling (8 Hrs)
    1. Classes Relationship
    2. Conceptual Model of UML
    3. Class diagram
    4. Advanced classes
    5. Advanced Relationship
    6. Interface
    7. Object Diagram
    8. Interactions
    9. Use cases
    10. Use case diagram
    11. Interaction Diagram
    12. Activity Diagram State chart Diagram
    13. Component and Components Diagram
    14. Deployment Diagram
  4. Object Oriented Analysis (5 Hrs)
    1. Iterative Development
    2. Unified process & UP Phases
      1. Inception
      2. Elaboration
      3. Construction
      4. Transition
    3. Understanding requirements
    4. UP disciplines
    5. Agile UP
  5. Object Oriented Design (8 Hrs)
    1. Components of OO Design model
    2. System Design Process
    3. Partitioning the analysis model
    4. Concurrency and subsystem allocation
    5. Task management component
    6. Object DBMS
    7. Data Management components
    8. Resource Management components
    9. Inter sub-system communication
    10. Object Design process
  6. Object Oriented Testing (6 Hrs)
    1. Overview of Testing and object oriented Testing
    2. Types of testing
      1. Unit testing
      2. Integrating testing
      3. System testing
    3. Object Oriented Testing strategies
    4. Test case for OO software
    5. Inter class test case design
  7. Managing object oriented software software engineering (5 Hrs)
    1. Project selection and preparation
    2. Project development, organization and management
    3. Software project planning and scheduling and techniques
    4. COCOMO model
    5. Risk management process
    6. Software quality assurance
    7. 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

Attribution to the contributors:

Krischal Khanal