PSE102 SOFTWARE DESIGN AND CONSTRUCTION
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.
Design and Modeling with Rational Rose, implementation using