E0 257 - Software Architecture

Y. Narahari

Department of Computer Science and Automation
Indian Institute of Science
Bangalore - 560 012
INDIA


PROGRAMMING ASSIGNMENTS

Assignment #1

 Submited  Assignments

Assignment # 2

Submitted Assignments

Assignment #1 on ATM System

The objective is to come up with (1) a use case model and (2) an analysis model for an ATM system. This assignment is intended to help you: (a) gain insights into UML diagrams. (b) to understand the workflows in requirements analysis and domain analysis. (c) to appreciate the role of use cases in discovering abstractions and defining the architecture of the system. (d) to understand how "traceability" can be built into the development process. (e) to find out how the models can be used in forward engineering.

  Keep all the above issues in mind while doing the assignment.

  Do the following:
 

  1. Read Chapter 12 from the book by Ericsson and Penker (The UMLToolkit). As you know, this chapter describes a case study of a library support system (analysis and design using UML).

  2.  
  3. Read Chapter 8 from Rumbaugh's book, which discusses a systematic process for object oriented modeling for an ATM case study.

  4.  
  5. Review Chapters 3,4,7,8 from JBR's book on The Unified Software Development Process. These chapters explain the workflows involved in requirements modeling, architecture evolution, and analysis modeling. have covered some important parts of these chapters in the class. Note that an ATM system is used as a running example in these chapters.

  6.  
  7. Take the requirements definition and data dictionary of the ATM case study in Rumbaugh's book.

  8.  
  9. Create a use case model. Choose the actors and use cases. Write down a detailed use case diagram(s). Prioritize the use cases. Choose three architecturally significant use cases and write down detailed descriptions for those. Write down interaction (sequence or collaboration) diagrams for the chosen use cases.

  10.  
  11. Create an analysis model. Discover all important abstractions (classes, interfaces, active classes, collaborations, etc.)for the application. Distinguish among boundary classes, control classes, and entity classes. Write down use case realizations for chosen use cases. Present a class diagram. Write down state chart diagrams for interesting objects and activity diagrams for interesting business processes. Provide an architectural view of the analysis model. Use an iterative approach to arrive at an optimal analysis model. Give attention to traceability when you go through the work flows.

  12.  
  13. Make a HTML page of your analysis document (which will be mostly UML diagrams and precise verbal descriptions) and email to me and to mbk@csa, a URL for that page before September 20, 2002.

  14.  
  15. For one or two critical use cases, use Rational Rose to do the analysis. This will enable you to familiarize yourself with Rose.

Assignment #2

    Online Filing of Income Tax Returns

    Source Code Search Engine

    Design (by M Bharat Kumar)



BACK TO HOME

 Modified by: Sandhya G & Shijesta Victor on 03.11.2003