Software Design: Design concepts, the design model, software architecture, architectural design, data design, component level design, and user interface design.

Object Modeling and Design: OMT, visual modeling, UML, Rational Rose Tool, Classes, objects, relationships, key abstractions, common mechanisms, diagrams, class diagrams, advanced classes, advanced relationships, interfaces, types, roles, packages, instances, object diagrams, interactions, use cases, use case diagrams, interaction diagrams, activity diagrams, events and signals, state machines, processes, threads, state chart diagrams, components, deployment, collaborations, patterns and frameworks, component diagrams, systems and models, code generation and reverse engineering.

Software Construction: Basics of object-oriented approach, object-oriented programming and languages, Scope of class members-public, private, protected. Class constructor, destructor, copy constructor, virtual destructor. Derived classes, scope of derivation-public, private, protected. Virtual functions, Function overloading. Friend functions and friend classes, Operator overloading, Dynamic memory allocation to classes and class members, new and delete operators. Overloading new and delete operators. Explicit type conversion operators. Input output streams, Stream class hierarchies, standard I/O objects: cin, cout, cerr, overloading <<, >> operators, File Streams, opening, reading, writing to file. File pointers and their manipulators,

Introduction to templates and container classes.

Laboratory Work

Design and Modeling with Rational Rose, implementation using C++.


Recommended Books

  1. Grady Booch, James Rumbaugh, Ivar Jacobson, The Unified Modeling Language User, Addison Wesley Professional (2005)
  2. Guide, Pearson Education.
  3. James Rumbaugh, Ivar Jacobson, Grady Booch: The Unified Modeling Language Reference Manual, Addison-Wesley, New YorkGrady Booch, Object-Oriented Analysis and Design, Pearson Education (2004) 2nd ed.
  4. Roger S. Pressman: Software Engineering, A Practitioner’s Approach, McGrawHill International Edition (2009) 7th ed.
  5. J. Rumbaugh,, Object-Oriented Modeling and Design, Prentice Hall (2004) 2nd ed.
  6. G. Schneider, Applying Use Cases: A Practical Guide: Addison-Wesley Object Technology Series, Addison-Wesley (2001).
  7. Marget A.Eills and Bjame Stroustrup, The Annotated C++ Reference Manual, Addison Wesley (1990).