Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Object Oriented.

Slides:



Advertisements
Similar presentations
Design by Contract.
Advertisements

25 February 2009Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department.
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Chapter 2: Problem Solving
Chapter 4: Inception is Not the Requirements Phase
Information System Engineering
Ch 12: Object-Oriented Analysis
Assignment I, part 1. Groups of three students. Specify one as group leader. group names to TA and me. Create an object-oriented conceptualization.
Use-case Modeling.
Software Requirements
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
7M701 1 Software Engineering Software Requirements Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 5
CS 425/625 Software Engineering Software Requirements
Object Oriented Analysis Process
Software Requirements
Overview of Software Requirements
Use Case Analysis – continued
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
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.
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 Use cases: deciding what you want.
7M822 Software Requirements Introduction 7 September 2010.
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.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Software Engineering Case Study Slide 1 Introductory case study.
Chapter 24 - Quality Management
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
USE Case Model.
Use Cases Why use ‘em? How do they work? UC diagrams Using them later in the software development cycle.
Chapter 9 Database Planning, Design, and Administration Sungchul Hong.
Database System Development Lifecycle © Pearson Education Limited 1995, 2005.
Overview of the Database Development Process
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Software Engineering CS B Prof. George Heineman.
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Object Oriented.
Use Cases College of Alameda Copyright © 2007 Patrick McDermott.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
Eng. Mohammed Timraz Electronics & Communication Engineer University of Palestine Faculty of Engineering and Urban planning Software Engineering Department.
Introduction to Software Design Chapter 1. Chapter Objectives  To become familiar with the software challenge and the software life cycle  To understand.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
Lecture 7: Requirements Engineering
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Object Oriented.
Faculty of Computer & Information
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
1 Introduction to Software Engineering Lecture 1.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
UML-1 3. Capturing Requirements and Use Case Model.
1 April 2009Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Formal.
UML-1 8. Capturing Requirements and Use Case Model.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
 What is Modeling What is Modeling  Why do we Model Why do we Model  Models in OMT Models in OMT  Principles of Modeling Principles of Modeling 
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
Use Cases Use Cases are employed to describe the functionality or behavior of a system. Each use case describes a different capability that the system.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
Gerhard Dueck -- CS3013Requirements Capture 1  From Vision to Requirements  Why it is difficult?  Developers are not users  Inadequate requirements.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
M1G Introduction to Programming 2 3. Creating Classes: Room and Item.
Refining the Use Cases 1. How Use Cases Evolve  Early efforts typically define most of the major use cases.  The refining stages complete the process.
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
1 M206 Chapter 31: An Overview of Software Development 1.Defining the problem 2.Analyzing the requirement – constructing initial structural model 3.Analyzing.
1 Software Requirements Descriptions and specifications of a system.
Software Design Lecture : 15.
Presentation transcript:

Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Object Oriented Analysis & Design Gathering Requirements

Instructor: Tasneem Darwish2 INTRODUCTION   The aim of the requirements phase is twofold:   Examine the business context: We need to clarify the reasons for wanting the software to be developed in the first place – if we can’t come up with good reasons, we shouldn’t write the software at all. When we’ve decided that we do want to produce a software system, we need to make sure that we understand the business and that our understanding matches that of our sponsors.   Describe the system requirements: This involves not only deciding on the functionality of the system but also detecting any constraints – performance, development cost, resources and so on.

Instructor: Tasneem Darwish3 INTRODUCTION   Before we even consider writing a piece of software, we must investigate the business in which the software will operate – without a thorough understanding of the business, we could hardly expect to produce something that would enhance that business   The term business is used here in its loosest sense: think of ‘business’ as ‘problem domain’.

Instructor: Tasneem Darwish4 INTRODUCTION   Once we have understood the business and documented our understanding as business requirements, we need to think about:   what our software will do for the users.   Deciding what the system needs to be able to do and what it should not do, will help us to focus on producing only the necessary code.   Without a thorough understanding of the system requirements, we would risk wasting time on developing code that we’re not being paid to produce.

Instructor: Tasneem Darwish5 INTRODUCTION   System requirements are commonly separated into two categories: functional and nonfunctional.   Functional requirements are the things the system must be able to do, i.e. the services that it must provide in response to external stimuli, such as ‘browsing the catalog’ and ‘reserving a car model’.   Nonfunctional requirements are everything else that needs to be specified.   Nonfunctional requirements might include the client Web browsers that must be supported, the use of streaming video (as opposed to downloadable files) for adverts and so on.

Instructor: Tasneem Darwish6 THE BIRTH OF A SYSTEM   We may be lucky enough to get a detailed document from the customer.   Or, we may simply be presented with something like a mission statement, a short statement of some new, desirable, business direction.   As developers, we must transform the customer’s requirements document or mission statement into a complete, unambiguous description of the system to be developed, in a standard format that the customer can understand and approve.

Instructor: Tasneem Darwish7 THE BIRTH OF A SYSTEM   Admittedly, ‘complete’ and ‘unambiguous’ are impossible to achieve in practice.   However, it’s still useful to know that eventually we will have a document that describes everything the system will do with little room for misinterpretation.

Instructor: Tasneem Darwish8 THE BIRTH OF A SYSTEM

Instructor: Tasneem Darwish9 THE BIRTH OF A SYSTEM

Instructor: Tasneem Darwish10 THE BIRTH OF A SYSTEM

Instructor: Tasneem Darwish11 USE CASES   Ivar Jacobson invented use cases to define the way in which part of a business or a system is used [Jacobson et al. 92].   Although, at first sight, use cases appear more process-oriented than object-oriented, they’re widely considered to be the most effective tool for describing a system’s functional requirements.   Most nonfunctional requirements can be recorded alongside a closely-related use case (any others can be listed separately).

Instructor: Tasneem Darwish12 USE CASES   A use case starts with a participant called an actor; it then descends into the business, or the system, and eventually returns to the actor.   The effect of each use case should be of value to the actor   Of course, value can mean different things to different people: it could be some information that the actor wishes to retrieve, some effect that the actor wishes to have on the system, some money.

Instructor: Tasneem Darwish13 USE CASES   For the sake of simplicity, use cases, especially system use cases, should not overlap.   A use case is written in natural language, broken up into a sequence of steps.   Diagrams can accompany the use case for more explanation.

Instructor: Tasneem Darwish14 USE CASES

Instructor: Tasneem Darwish15 BUSINESS PERSPECTIVE   A business model can be as simple as a class diagram, showing the relationships between business entities – this is sometimes referred to as a domain model.   A domain model may be sufficient for small projects, however, for most projects, we would want to produce an entire business model representing how the business operates, or at least that part of the business that surrounds the system we expect to develop.

Instructor: Tasneem Darwish16 BUSINESS PERSPECTIVE   Use cases are not the only way of modeling a business, but they’re simple.   More complex alternatives include business process modeling and workflow analysis.   Use cases are simple because producing one doesn’t require specialist knowledge, just common sense and a certain amount of logic.

Instructor: Tasneem Darwish17 BUSINESS PERSPECTIVE   The use case model that we produce here will contain the use cases themselves plus some other pieces:   Actor list (with descriptions).   Glossary.   Use cases (with descriptions and details).   Communication diagrams.   Activity diagrams.

Instructor: Tasneem Darwish18 Identifying Business Actors   An actor is either a person playing some role within the business (as you might expect from the name), a department, or a separate software system.   The reason for identifying departments and systems as actors is that, in logical terms, they interact as if they were people themselves: we’re interested in who (or what) initiates interactions and the sequence of steps.   We don’t care whether a particular actor is ‘implemented’ as a person, a department or a piece of software.

Instructor: Tasneem Darwish19 Identifying Business Actors   Identifying actors helps us to identify the ways in which the business is used, which will, in turn, indicate what the use cases are.   Just as in real life, an actor can play different business roles at different times. For example, Fred Bloggs might be an assistant within the Nowhere Cars store until he clocks off; if he decides to rent a car before going home, he becomes a customer.   At this stage of the development, you will be working with the other sponsors (principally the customers) to find out how the business operates.

Instructor: Tasneem Darwish20 Identifying Business Actors

Instructor: Tasneem Darwish21 Identifying Business Actors