MCA-104
Object Oriented Software Engineering
Building software the object-oriented way — the Unified Process, use cases, UML across analysis and design, design patterns, and agile methods.
- Semester
- Semester 2
- Credits
- 3
- Scheme
- 3 lectures a week
- Contact hours
- 40 across four units
- Category
- Core
What the paper is
Object Oriented Software Engineering is the paper about everything that happens around the code. It follows one iterative process — the Rational Unified Process — from inception through analysis and construction, and the UML diagrams are introduced where that process would actually produce them rather than as a catalogue at the end.
That structure is worth matching in your own revision. Each unit pairs a phase with its diagrams: analysis with use cases, activity and system sequence diagrams; construction with communication, design class, state transition, package, component and deployment diagrams. Learning a diagram alongside the question it answers is far more durable than learning its notation.
The paper ends somewhere the rest of it does not quite prepare you for: Unit IV drops the Unified Process and covers agile — the manifesto, XP, Scrum and Lean. It is short, it is factual, and it is examined.
What to concentrate on
- Be able to draw all the major UML diagrams for one worked scenario of your own. The exam gives you a problem statement and asks for diagrams, and having a rehearsed example means you are adapting rather than inventing.
- The five design patterns named in the syllabus — Singleton, Multiton, Iterator, Adapter, Observer — are a closed list. Know each one's intent, structure and a one-line example; that is the whole of what is asked.
- Use case modelling and the domain class model are the highest-frequency questions in the paper. Practise turning a paragraph of requirements into actors, use cases and domain classes under time pressure.
Syllabus, unit by unit
Summarised from the approved scheme. Hours are the contact hours the scheme allots, which is a fair guide to where the marks sit.
Unit I · Object-oriented concepts, methodologies and architecture
10 hours- Review of objects and classes, links and association, generalisation and specialisation, inheritance
- Grouping concepts: aggregation, composition, abstract classes, polymorphism, metadata, constraints, reuse
- Introduction to the Rational Unified Process; traditional versus object-oriented lifecycle models
- Origin of UML and the 4+1 view architecture
- System development as model building: requirements, analysis, design, implementation and test models
Unit II · Inception and analysis
10 hours- Project management, the unified process and the inception phase, monitoring and control
- The requirements model and the analysis model — use cases and domain classes
- Use case modelling and detailed requirements
- UML: use case model, activity diagram, system sequence diagrams, object diagrams, domain class model diagrams
Unit III · Construction and design patterns
12 hours- The design model, block design, use case realisation within UP iterations
- Designing the subsystem: mapping design to code, the data access layer, UI and system interfaces
- Reusable design patterns: Singleton, Multiton, Iterator, Adapter, Observer
- UML: communication diagrams, design class diagram, state transition diagram, package, component and deployment diagrams
Unit IV · Testing and agile process
8 hours- Object-oriented testing: terminology, types of test, automatic tests, testing strategies
- The agile manifesto and agile principles
- Extreme Programming, Scrum and Lean processes
- Case studies
How it is examined
- Question 1 is compulsory, covers the whole syllabus, and is made of objective or short-answer questions. It carries 12 marks.
- The rest of the paper is four units matching the four above. Each unit sets two questions and you attempt one, so there are four more answers at 12 marks each.
- Examiners are asked to map every question to a course outcome using Bloom's taxonomy, which is why questions are phrased as “apply”, “analyse” or “evaluate” rather than only “explain”.
The pass mark is 40 out of 100 in every paper.
Learning objectives
- Understanding the iterative implementation of software projects
- Analysing projects using use case modelling tools
- Developing solutions for real-life cases using design models and patterns
- Implementing design requirements for the user interface, data layer and system controls
- Applying modern CASE tools
Assumed beforehand
- Software engineering concepts
- Object oriented programming concepts
Paired in the scheme with MCA-164 Object Oriented Software Engineering Lab.
Books it is taught from
- TB1John W. Satzinger, Robert B. Jackson and Stephen D. Burd, “Object Oriented Analysis and Design with the Unified Process”, Cengage Learning, 1st edition, 2014
- TB2Mike O'Docherty, “Object Oriented Analysis and Design”, Wiley, 1st edition, 2013
- TB3Ivar Jacobson et al., “Object Oriented Software Engineering: A Use Case Driven Approach”, Pearson, 7th impression, 2009
Notes for MCA-104
Lecture notes, question papers and assignments filed against MCA-104 are in the library. Everything there has been checked by a moderator before it appears, and an account is free — new ones are approved by hand, which is what keeps the shelf clean.