Software Engineering Case Study Slide 1 Introductory case study.

Slides:



Advertisements
Similar presentations
Software Engineering COMP 201
Advertisements

CIS224 Software Projects: Software Engineering and Research Methods
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 4 Class Models (Based on Fowler (2004, Chapters 3 & 5) and Stevens and Pooley.
Use Case - Example University library system requirements
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Systems Analysis and Design in a Changing World, Fourth Edition
Kravansvarig för PUM-projekt
Documenting Requirements using Use Case Diagrams
Object Oriented Software Development Modelling information systems OOSAD Booklet Chapter 4 Lecture: Week 3 Brian Farrimond.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Software Engineering Lecture 9 Object-Oriented Design II.
Requirements Analysis 2 What objects collaborate to achieve the goal of a use case?
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Overview of Software Requirements
1 Lecture 5 Introduction to Software Engineering Overview  What is Software Engineering  Software Engineering Issues  Waterfall Model  Waterfall Model.
CS 501: Software Engineering Fall 2000 Lecture 12 Object-Oriented Design II.
Introductory case study. 2 The problem The most difficult part of any design project is understanding the task you are attempting You have been contacted.
Slide 7E.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
Sharif University of Technology Session # 4.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Use Case Diagram : Library System
Business Modeling Domain Modeling Source: Use Case Driven Object Modeling with UML – A Practical Approach By Doug Rosenberg ISBN:
Chapter 3 Object-Oriented Analysis of Library Management System(LMS)
CMPT 275 Software Engineering
Chapter 7: The Object-Oriented Approach to Requirements
Software Engineering 2003 Jyrki Nummenmaa 1 USE CASES In this lecture: Use cases - What are use cases? - Why to use use cases? - How to write.
Introduction To System Analysis and design
Use Cases Why use ‘em? How do they work? UC diagrams Using them later in the software development cycle.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa USE CASES In this lecture: Use cases - What are use.
Object-Oriented Analysis - Instructor Notes
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Object Oriented.
Key Takeaway Points A use case is a business process; it begins with an actor, ends with the actor, and accomplishes a business task for the actor. Use.
1 Object-Oriented Analysis Use Case Driven. 2 The outline method for OOA 1.Identify object classes within the problem domain 2.Define the behaviour of.
1 CMPT 275 Software Engineering Requirements Gathering Activity Janice Regan,
Approaching a Problem Where do we start? How do we proceed?
Jan 21, Ron McFadyen1 Ch 10. Domain Model: Visualizing Concepts Domain model illustrated with a class diagram (with no operations defined)
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
Requirements Engineering Methods for Requirements Engineering Lecture-30.
UML-1 8. Capturing Requirements and Use Case Model.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Interaction Diagrams Interaction Diagrams allow the designer to show how groups of objects collaborate in some behavior. –Interaction Diagrams will show.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
2/6/03C-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Requirements and Use Cases.
Requirements / Specifications. 01/18/10CS-499G2 Requirements Determine what the customer needs (wants) the software to do  What are requirements?  An.
Systems Analysis and Design in a Changing World, Fourth Edition
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Class Diagram Mehwish Shafiq. Class Collection of object that share common properties, attributes, and behavior. Collection of objects with same data.
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
Object Oriented Analysis & Design By Rashid Mahmood.
Software Engineering 2004 Jyrki Nummenmaa 1 Why new software methodologies The classic waterfall-model based techniques are strongly based on the.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
Classifications of Software Requirements
Today in OOAD Today in Lab Review EU-Lease Assignment (Vision)
EKT 421 SOFTWARE ENGINEERING
Object Analysis: Classification
Start at 17th March 2012 end at 31th March 2012
By Dr. Abdulrahman H. Altalhi
Requirements Analysis
Copyright 2007 Oxford Consulting, Ltd
Seminar 2 Design of Informatics Systems
Lecture 8 Object Concepts
CS 501: Software Engineering
Presentation transcript:

Software Engineering Case Study Slide 1 Introductory case study

Software Engineering Case Study Slide 2 The problem The most difficult part of any design project is understanding the task you are attempting You have been contacted to develop a computer system for a university library. The library currently uses a 1960s program, written in an obsolete language, for some simple bookkeeping tasks, and a card index, for user browsing. You are asked to build an interactive system which handles both of these aspects online.

Software Engineering Case Study Slide 3 Clarifying the requirements Different users will have different, sometimes conflicting, priorities Users are not likely to have clear, easy expressed views of what they want It is hard to imagine working with a system of which you’ve only seen a description

Software Engineering Case Study Slide 4 Facts about the requirements Books and journals Borrowing Browsing Homework Specify the facts about the requirements that an ideal system would satisfy.

Software Engineering Case Study Slide 5 Use case model If a system is to be seen as having high quality, it must meet the needs of its users. So we take a user-oriented approach to systems analysis. We identify the users of the system and the tasks they must undertake with the system. We also seek information about which tasks are most important, so that we can plan the development accordingly.

Software Engineering Case Study Slide 6 What do we mean by “users” and “tasks”? UML in fact uses as technical terms actors and use cases An actor is a user of a system in a particular role (an actor can also be an external system) –For example. Our system will have an actor BookBorrower representing the person who interacts with the system to borrow a book A use case is a task which an actor needs to perform with the help of the system, –such as Borrow copy of Book.

Software Engineering Case Study Slide 7 Use case diagram for the library

Software Engineering Case Study Slide 8 Scope and Iterations To limit the risk, it is better to aim to get to the ideal system in several steps or iterations. –The first iteration results in the delivery of a system with only the most basic and essential functionality; –Later iterations enhance the system One of the main purposes of use cases is to help identify suitable dividing lines between interactions: –An interaction can deliver enough of the system to allow certain use cases to be carried out, but not others

Software Engineering Case Study Slide 9 Use case diagram for the first iteration Let us suppose that after discussing priorities with the customers we decide that the first iteration of the system should provide: –Borrow copy of book, Return copy of book, Borrow journal, Return Journal

Software Engineering Case Study Slide 10 Identifying classes In the standard jargon of analysis we often talk about the key domain abstractions. Identifying the right classes is one of the main skills of OO development. We start the process of identifying the key domain abstractions using the following approach, which is known as the noun identification technique.

Software Engineering Case Study Slide 11 Identifying a list of candidate classes Take a coherent, concise statement of the requirement of the system Underline its noun and noun phrases, that is, identify the words and phases the denote things This gives a list of candidate classes, which we can then whittle down and modify to get an initial class list for the system

Software Engineering Case Study Slide 12 In this particular case we discard Library, because it is outside the scope of our system Short term loan, because a loan is really an event, which so far as we know is not a useful object in this system Member of the library, which is redundant Week, because it is a measure, not a thing Item, because it is vague ( we need to clarify it ) Time, because it is outside the scope of the system System, because it is part of the meta-language of requirements description, not a part of domain Rule, for the same reason

Software Engineering Case Study Slide 13 This leaves: Book Journal Copy (of book) Library member Member of staff

Software Engineering Case Study Slide 14 Relations between classes Next we identify and name important real- world relationships or associations between our classes We do this for two reasons: –To clarify our understanding of the domain, by describing our objects in terms of how they work together; –To sanity-check the coupling in our system, i.e. make sure that we are following good principles in modularising our design

Software Engineering Case Study Slide 15 Initial class model of the library

Software Engineering Case Study Slide 16 Lets revise our class model Finally, we may notice that –MemberOfStaff shares in all the same associations that LibraryMember does, and that –this agrees with our intuition that a member of staff is a kind of library member. Recording this in the class diagram will clarify our understanding of the situation, that there is a generalization relationship between LibraryMember and MemberOfStaff. Inheritance (MemberOfStaff is a subclass of LibraryMember)

Revised library class model Library system

Software Engineering Case Study Slide 18 The system in action In UML we can use interaction diagrams to show how messages pass between objects of the system to carry out some task

Software Engineering Case Study Slide 19 Interaction shown on a sequence diagram

Software Engineering Case Study Slide 20 Changing in the system: state diagrams State diagram for class Book