SOFTWARE DESIGN USING OBJECT ORIENTED PARADIGM
CS122 No. of hrs/week=03+03
No. of credits =04
COURSE DESCRIPTION: This course provides detailed description of UML and the use of UML in developing object-oriented systems. Various elements of UML are studied in detail giving emphasis to the steps to be followed while modeling various aspects of an object oriented system.
COURSE CONTENTS:
1. INTRODUCTION 5 hrs
§ Importance of modeling, principles of modeling, object-oriented modeling.(chapter-1, Text-1)
§ What is unified modeling language, An overview of UML.(chapter 1 & 2 ,Refr-1)
§ Classes - Terms and concepts, common modeling techniques - (chapter-4, Text-1)
§ Relationships – Dependency, generalization, association- simple association, aggregation & composition, modeling simple dependencies, modeling single inheritance, modeling structural relationships -(chapter-5, Text-1)
§ Diagrams – class diagrams, object diagrams, component diagrams, deployment diagrams, use-case diagrams, sequence diagrams, collaboration diagrams, state-chart diagrams and activity diagrams –( chapter-7, Text-1.)
§ Class Diagrams – Contents, common uses – (Chapter-8, Text-1.)
§ Advanced Classes - Classifiers, visibility, scope, multiplicity, attributes, operations - (Chapter-9, Text-1.)
§ Interfaces – (chapter-11, Text-1.)
§ Packages – visibility, importing, exporting, generalization – (chapter-12, Text-1.)
§ Use-cases – use-cases and actors, flow of events, scenarios, collaborations, organizing use-cases, modeling behavior of an element –( chapter-16, Text-1.)
§ Use-case diagrams – (chapter-17, Text-1.)
§ Interaction diagrams – sequence diagrams, collaboration diagrams, modeling flows of control by time ordering and organization –( chapter-18, Text-1.)
§ Activity diagrams – action states and activity states, transition, branching, forking and joining, swim lanes, object-flow, modeling a work-flow, modeling an operation ( chapter19, Text-1.)
§ State diagram – (from Refr. Text)
Logical architecture, physical architecture, component diagram, deployment diagram, complex modeling of nodes, allocating components to nodes, summary. (from Chapter 7, Refr-1.)
Case study of a library management system (from Chapter 12, Refr-1.)
§ A University System
§ Banking System
§ Ticket reservation systems
Text Book:
1. “THE UNIFIED MODELING LANGUAGE USER GUIDE” – Booch, Jacobson, Rumbaugh – Addison Wesley, 1999 Edition.
Reference Books:
1. “UML TOOLKIT” – Eriksson and Penker, John Wiley and Sons, 1998 Edition.
2. USING UML - Booch, Jacobson, Rumbaugh, Pearson Education Asia, 2001 Edition.
Objective:-
Lab work involves development of a mini project in C++, generating of UML diagrams and finally developing a UML model for the mini project work. Equal weightage has been given to both project implementation as well as UML modeling.
Note:- The programs done in the first 5 weeks should aid in the development of the subsequent mini project.
Week 1, Week 2
Defining functions, invoking functions, passing parameters to functions and returning values from functions; programs involving integer arrays , character pointers, strings and menus.
Week 3 ,4
classes, records, array of records – defining student/employee classes, defining array of student/employee records; performing various operations on these records as well as on the array. Files – opening a file, writing objects/records to a file, reading objects/records from a file, finding the length of a file etc.
Week 5, 6, 7, 8,
Mini project:- Batches are formed with 2 students in every batch. Sample systems like Library management system, a university system, banking system etc to taken up.
Front end is th’ a simple menu and files to be used as backend/storage.(instead of databases). Each system should provide a minimum of 4/5 functionalities.
Week 9
Mini project evaluation.
Week 10,11,12, 13, 14 (UML diagrams)
Various systems like Library management system, a university system,a banking system , a hospital system, a railway reservation system, a bus booking system, an ATM system were modeled using UML diagrams through Rational Rose tool. Emphasis is to be given for use case diagrams, class diagrams, sequence & collaboration diagrams. Attaching notes, files and comments to various model elements to be studied. Also generation of skeleton code in C++/java to be demonstrated.
On the final day, students should submit detailed UML diagrams (involving minimum of use case diagrams, class diagrams and sequence diagrams) of their respective mini projects.
Lab References:-
1. “Object oriented programming with c++” - Balaguruswamy, McGrawHill publications.
2. “Mastering UML with Rational Rose” – Wendy Boggs, Michael Boggs, BPB, 1999 Edition.