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.