Syllabus - SOFTWARE DESIGN WITH UML (CB-501)


Computer Science and Business System (CSBS)

SOFTWARE DESIGN WITH UML (CB-501)

V

UNIT – I

INTRODUCTION TO SOFTWARE ENGINEERING AND UML

Introduction- Software Engineering Concepts- Development activities- Managing software development- UML introduction- modeling concepts- Project organization and communication.

UNIT – II

REQUIREMENTS ELICITATION AND ANALYSIS

Introduction-Requirement Elicitation Concepts-Requirements Elicitation Activities- Managing Requirements Elicitation- Case Study: ARENA-Analysis concepts- Analysis activities: From Use cases to Objects- Managing Analysis.

UNIT – III

STATIC UML DIAGRAMS

Class Diagram- Elaboration - Domain Model- Finding conceptual classes and description classes- Associations- Attributes- Domain model refinement- Finding conceptual class Hierarchies- Aggregation and Composition- Relationship between sequence diagrams and use cases - When to use Class Diagrams

UNIT – IV

DYNAMIC UML DIAGRAMS

Dynamic Diagrams- UML interaction diagrams - System sequence diagram - Collaboration diagram- When to use Communication Diagrams- State machine diagram and Modelling - When to use State Diagrams-Activity diagram- When to use activity diagrams Implementation Diagrams- UML package diagram-When to use package diagrams- Component and Deployment Diagrams- When to use Component and Deployment diagrams

UNIT – V

DESIGN PATTERNS

Design Pattern- Describing Design Patterns- How design patterns solve design problems- Selecting a design Pattern- Using a design pattern- Case Study: Designing a Document Editor

Practicals

Reference Books

  • Bernd Bruegge and Allen H. Dutoit, “Object-Oriented Software Engineering: using UML, Patterns, and Java”, Third Edition, Prentice Hall, 2010.

  • Erich Gamma, Richard Helm, Ralph Johnson, and John M. Vlissides, “Design Patterns: Elements of Reusable Object-Oriented Software” Addison-Wesley Professional, 1994.

  • Ali Bahrami, “Object Oriented Systems Development”, McGraw Hill Edition, 2017.