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)                                                                                                                                        

  1. STRUCTURAL MODELING                                                                                                16 hrs

§         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.)

 

  1. BEHAVIORAL MODELING                                                                                        14 hrs

§         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)

                                                                                                           

  1. ARCHITECTURAL MODELING                                                                                4 hrs

Logical architecture, physical architecture, component diagram, deployment diagram, complex modeling of nodes, allocating components to nodes, summary. (from  Chapter  7, Refr-1.)                                                                              

 

  1. CASE STUDY                                                                                                             6 hrs

      Case study of a library management system     (from Chapter  12, Refr-1.)

 

Tutorial case studies :-                                     

§         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.

  1. Mastering UML with Rational Rose – Wendy Boggs, Michael Boggs, BPB, 1999 Edition.
  2. Designing flexible object oriented systems with UML – Charles Ritcher, Techmedia, 2000 Edition.

 

SD OOP LAB

 

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.