UML & Design Patterns
Course Outcomes:
Students successfully completing this course will be able to: 1. identify the purpose and
methods of use of common object-oriented design patterns 2. select and apply these
patterns in their own designs for simple programs 3. represent the data dependencies of a
simple program using UML 4. represent user and programmatic interactions using UML
5. create design documentation outlining the testable and complete design of a simple
program 6. produce and present documents for the purpose of capturing software
requirements and specification 7. produce plans to limit risks specific to software
designed for use in a particular social context
Analyze and design the use case diagram, use case definition, system operation sequence
diagram, activity diagram, and conceptual class diagram by illustrating with case studies.
Design system static model, including design class diagram, identification of classes,
attributes and methods, identification of generalization, aggregation, composition, and
dependency relations, defining associations with multiplicities and constraints by
illustrating with case studies.
Design system dynamic model, including design sequence diagram, activity diagram and
state diagram by illustrating with case studies.
Apply the Rational Software Suit for the construction of UML models
and expressing the appropriate notation associated with each model.
At the end of the course the student should be able: A. To design, write and test programs
that make appropriate use of advanced object-oriented facilities common to many object-
oriented languages such as classes, message passing, overloading and inheritance. B. To
design, write and test interactive programs with a simple GUI interface using an object-
oriented programming language. C. To implement UML based designs (based on Use
Case, class, sequence and, state diagrams) based on non-trivial case study problems
displaying some architecture complexity, MVC and persistence and considerable inter-
class communications. D. Design and implement non-trivial object-oriented program
using appropriate object-oriented design techniques such as class diagrams, sequence
diagrams, state diagrams. E. Choose and apply appropriate advanced object-oriented
programming concepts.
Apply class, object and behavioral modeling to design OO system. 2. Accomplish the
architectural view of a modeling. 3. Apply, analyze, model and design an effective Object
Oriented system.
Create and analyze requirements models using UML class notations and use-cases based
on statements of user requirements, and to analyze requirements models given to them for
correctness and quality.
Create the OO design of a system from the requirements model in terms of a high-level
architecture description, and low-level models of structural organization and dynamic
behavior using UML class, object, and sequence diagrams
Comprehend enough Java to see how to create software the implements the OO designs
modeled using UML
Implement UML based designs (based on Use Case, class, sequence and, state diagrams)
based on non-trivial case study problems displaying some architecture complexity, MVC
and persistence and considerable inter-class communications.
Comprehend concepts of object-orientation, object-oriented analysis and design, Unified
Modeling Language (UML)
Construct OO Design using different design patterns like GRASP, Fabrication,
Indirection, Singleton, Factory, Facade, and Publish-Subscribe .
Construct various UML models including use case diagrams, class diagrams, interaction
diagrams, statechart diagrams, activity diagrams, and implementation diagrams using the
appropriate notation.
Apply the Rational Software Suit for the construction of UML models and expressing the
appropriate notation associated with each model.
Course Outcomes: At the end of the course the student will be able to: CO1 Apply the
Object Oriented Software-Development Process to design software CO2 Analyze and
Specify software requirements through a SRS documents. CO3 Design and Plan software
solutions to problems using an object-oriented strategy. CO4 Model the object oriented
software systems using Unified Modeling Language (UML) CO5 Estimate the cost of
constructing object oriented software.
COMPUTER SCIENCE AND ENGINEERING
Program Educational Objectives
PE01 Acquire sound foundations in Basic Sciences and fundamentals in Engineering
Sciences.
PE02 Analyze technical solutions to computational problems and develop efficient
algorithms.
PE03 Apply knowledge in the identification, design, development, production,
configuration, and maintenance of computing systems, for real life problems.
PE04 Gain multidisciplinary knowledge through projects and industrial
training, leading to a sustainable competitive edge in R&D, meeting
societal needs, and as per the needs of the industry.
PE05 Develop managerial skills, leadership quality and entrepreneurial spirit.
PE06 Inculcate healthy interpersonal skills and strong communication skills, as well as
adherence to professional and ethical principles.
Mapping of PEOs with POs
PO PO PO PO PO PO PO PO PO PO1 PO1
1 2 3 4 5 6 7 8 9 0 1
PE0 3 1 - - - 2 - - - 1 -
1
PE0 1 3 3 2 2 1 1 - 2 2 1
2
PE0 1 3 3 2 2 2 1 1 3 3 3
3
PE0 1 3 2 3 3 1 1 3 3 3
4
PE0 - - - 2 - 2 1 1 3 3 3
5
PE0 - - - - - - 3 3 3 3
6
UML and Design patterns
Course Outcomes: At the end of the course the student will be able to:
Course OutComes
CO1 Apply the concepts and techniques for designing and developing
software for large projects.
CO2 Effectively translate UML models into code using an OO
programming language
CO3 Construct OO Design using different design patterns like GRASP,
Fabrication, Indirection, Singleton, Factory, Facade, and Publish-
Subscribe.
CO4 Construct various UML models including use case diagrams, class
diagrams, interaction diagrams, statechart diagrams, activity
diagrams, and implementation diagrams using the appropriate
notation.
Mapping of course outcomes with program outcomes
PO PO PO PO PO PO PO PO PO PO1 PO1
1 2 3 4 5 6 7 8 9 0 1
CO1 3 3 - - - 1 - - - 1 -
CO2 1 3 3 3 3 1 1 - 2 2 1
CO3 1 3 3 2 2 2 1 1 3 3 3
CO4 1 3 2 3 3 2 1 1 3 3 3
UML & Design Patterns Lab
Course Outcomes: At the end of the course the student will be able to:
Course Outcomes
CO1 Apply the Rational Software Suit for the construction of UML
models and expressing the appropriate notation associated with
each model.
CO2 Perform analysis to understand the application domain and
requirements of proposed software systems like Customer Support
System, Point-Of-Sale Terminal, and Library Management System
using requirements/feature lists, use cases, and simple
static/dynamic UML models including use case diagrams, class
diagrams, interaction diagrams, statechart diagrams, activity
diagrams, and implementation diagrams using the appropriate
notation.
CO3 Design an implementation of a proposed software system based on
the above analysis techniques using advanced static/dynamic UML
models including use case diagrams, class diagrams, interaction
diagrams, statechart diagrams, activity diagrams, and
implementation diagrams using the appropriate notation.
Mapping of course outcomes with program outcomes
PO PO PO PO PO PO PO PO PO PO1 PO1
1 2 3 4 5 6 7 8 9 0 1
CO1 1 3 2 3 3 1 3 1 2 3 3
CO2 1 3 3 3 3 1 1 1 2 2 1
CO3 1 3 3 3 3 3 - 1 3 3 3