CHAPTER 11 REQUIREMENTS

Size: px
Start display at page:

Download "CHAPTER 11 REQUIREMENTS"

Transcription

1 Lecture Software Engineering CHAPTER 11 REQUIREMENTS Lecture Software Engineering Topics Determining What the Client Needs Overview of the Requirements Workflow Understanding the Domain The Business Model Initial Requirements Initial Understanding of the Domain: The Art Dealer Initial Business Model: The Art Dealer Initial Requirements: The Art Dealer Continuing the Requirements Workflow: The Art Dealer The Test Workflow: The Art Dealer The Classical Requirements Phase Rapid Prototyping Lecture Software Engineering Topics Human Factors Reusing the Rapid Prototype CASE Tools for the Requirements Workflow Metrics for the Requirements Workflow Challenges of the Requirements Workflow Lecture Software Engineering Reference Schach, S.R. (2010). Object-Oriented and Classical Software Engineering, Eighth Edition. McGraw-Hill, ISBN:

2 Determining What the Client Needs Primary objective of requirements workflow: Determine what must the new product be able to do Misconception: Determine what software the client wants Real objective: Determine what software the client needs Problems Many clients do not know what they need Clients may have difficulties with accurately conveying the ideas Clients may not appreciate what is going on in their organization Software is complex Difficult enough for a system analyst to visualize a software product Far worse for a client Overview of the Requirements Workflow First step of requirement workflow: Gain an understanding of application domain (environment in which product operates) E.g., banking, space exploration, automobile manufacturing Once developers understand domain: Developers build business model Use UML diagrams to describe the client s business processes Business model used to determine client s initial requirements Then iteration is applied Until development team is satisfied with the set of requirements Requirements engineering What is performed during requirements workflow Requirements elicitation (requirements capture) Process of discovering the client s requirements Requirements analysis Process of refining and extending the initial set of requirements Understanding the Domain To elicit the client s needs: Members of requirements team must be familiar with application domain (general area in which the target product is to be used) Initial task of each member of requirements analysis team: Acquire familiarity with application domain Unless already has experience Important to use correct terminology when communicating with client and potential users: To avoid misunderstanding One approach is to construct a glossary A list of technical words used in domain, together with their meanings Initial entries are inserted while team learns application domain Updated whenever new terminology is encountered Printed out every so often and distributed or downloaded to a PDA Understanding the Domain Advantages of glossary Reducing confusion between client and system analysts Lessening misunderstanding between development team members Once requirements team has acquired familiarity with domain: Next step is to build a business model

3 The Business Model Business model Description of business processes of an organization Provides an understanding of client s business as a whole Developers can advise client as to Which portions of business to computerize or To incorporate extensions and make modification To build a business model A systems analyst needs to obtain a detailed understanding of various business processes Processes are refined (analyzed) in greater detail A number of techniques can be used to obtain information needed: Primarily interviewing The Business Model Interviewing Members of requirements team meet with members of client organization Until they are convinced they have elicited all relevant information: From client and future users of target software product There are two basic types of questions Closed-ended question: Requires a specific answer E.g., how fast a response time is required Open-ended question: Asked to encourage speaking out E.g., why is current software product unsatisfactory Two basic types of interviews Structured interview Pre-planned questions, frequently closeended The Business Model Unstructured interview Starts with one or two prepared close-ended questions Subsequent questions in response to the answers Likely to be open-ended Not a good idea if interview is too unstructured Unlikely to yield much knowledge Wide-ranging answers within context of specific information needed Conducting a good interview is not always easy Interviewer must be fully familiar with application domain No point in interviewing if interviewer has already made up mind regarding client s needs Interviewer must approach every interview with intention of listening carefully, while suppressing preconceived notions The Business Model After interview is concluded Interviewer must prepare a written report: Outlining results of interview Provide a copy to the person interviewed: Clarify certain statements or add overlooked items Other Techniques Interviewing: Primary technique for obtaining information for business model Some other techniques may be used in conjunction with interviewing One method is to send a questionnaire to relevant members of client organization Opinions of large number of people can be determined Written answers may be more accurate than verbal responses

4 The Business Model Since pre-planned: Cannot pose questions in response to answers Another method is examining forms used by business E.g., information from various fields on a form Operating procedures, job descriptions User manuals of software products in use Client documents can be a valuable source of information Another method is by direct observation of users Members of requirements team observing and writing down actions of employees while performing their duties A modern version is to set up video cameras within workplace With prior written permission of those being observed Record exactly what is being done Can take a long time to analyze the tapes Difficulty with employee acceptance Possible risks: Potential to annoy or anger employees The Business Model Use Cases Model Set of UML diagrams that represent one or more aspects of software product Use case Primary UML diagram used in business modeling Use case models an interaction between software product and its users Use case shows interactions between software product and environment in which it operates 11.1 The Business Model Actor User of product: Member of world outside product Representations Actors are represented by UML stick figures (e.g., customer and teller of a banking software product) Business activities represented by label inside oval (e.g., use case for withdraw money) One actor can participate in multiple use cases An actor need not be a human Another software product can be an actor E.g., e-commerce information system interacting with a credit company information system The Business Model Overlapping actors E.g., hospital software product Actor medical staff with two specialization (physician and nurse) 11.2

5 Initial Requirements Initial requirements are drawn up based on initial business model As the understanding is refined of domain and business model Requirements are refined Requirements are dynamic There are frequent changes Handling the changes Maintain a list of likely requirements With use cases agreed by development team And approved by the client Object-oriented paradigm is iterative Glossary, business model, and requirements could change Requirements fall into two categories functional Nonfunctional Initial Requirements Functional requirement Specifies an action that target product must be able to perform Often expressed in terms of inputs and outputs Handled during requirements and analysis workflow Nonfunctional requirement Specifies properties of target product Platform constraints, response time, reliability May have to wait until design workflow Detailed knowledge may be needed Unavailable until requirements and analysis workflow are completed Whenever possible handled during the requirements and analysis workflow Initial Understanding of the Domain: The Art Dealer Case study of a software product for an art dealer to assist in buying and selling paintings Essential to obtain domain knowledge Information about paintings Information about the art business Medium Material with which artwork was painted Oil-based paint, water-based paint, pencil, pastel Subject person (portrait), nature (landscape), inanimate object (still life) Quality Masterpiece (undoubted excellence) Masterwork (inferior painting by an artist with a masterpiece) Other painting (neither masterpiece, nor masterwork) Information is put into glossary Initial Understanding of the Domain: The Art Dealer

6 Initial Business Model: The Art Dealer Necessary to interview art dealer to obtain detailed information about every aspect of business A management consultant analyzed business records and concluded that art dealer is overpaying for paintings Advised to acquire a software product: Running on a laptop computer Use to determine the maximum price to pay for a painting: Management consultant derived an algorithm that software product should use Software product should detect new trends in art market as soon as possible: If trend of higher prices, buying before others notice the trend Software product should produce reports: On purchases and sales Initial Business Model: The Art Dealer Initial business model can be built Three business activities Buy painting Sell painting Produce reports Three use cases Use cases are combined into the use case diagram A UML diagram that reflects two or more use cases Next, use cases are annotated Initial use case descriptions are added Next, initial requirements are drawn up Initial Business Model: The Art Dealer Initial Business Model: The Art Dealer

7 Initial Business Model: The Art Dealer Initial Requirements: The Art Dealer Decide which of use cases are also requirements of software product Resulting initial requirements are refined adding, modifying, and removing requirements All three use cases from initial business model will be initial requirements All three processes will be automated in target product Initial descriptions are replaced by new descriptions The vagueness of descriptions is a consequence of iterative nature of object-oriented paradigm Initial Requirements: The Art Dealer Initial Requirements: The Art Dealer

8 Initial Requirements: The Art Dealer Continuing the Requirements Workflow: The Art Dealer More details need to be acquired for next iteration Data for each painting: Determined by examining relevant documentation (current manual records) Description of a painting Artist, title of work, date of work Classification, dimensions, medium, subject Date of purchase, seller information Actual purchase price Target selling price (e.g., 2.15 times purchase price) Maximum purchase price determined by algorithm Date of sale, buyer information, actual selling price Maximum price algorithm is developed by management consultant Continuing the Requirements Workflow: The Art Dealer Three types of reports Current reports are examined Needs are determined Data to include, sorting, averages Detecting new trends in art market When higher prices are consistently paid for an artist s work Buy up painting by that artist A report is required: Artists whose work has been sold by art dealer at a price exceeding target selling price Requirements team updates use case descriptions: Incorporating these details Continuing the Requirements Workflow: The Art Dealer

9 Continuing the Requirements Workflow: The Art Dealer Continuing the Requirements Workflow: The Art Dealer Continuing the Requirements Workflow: The Art Dealer Continuing the Requirements Workflow: The Art Dealer

10 Continuing the Requirements Workflow: The Art Dealer The Test Workflow: The Art Dealer While performing requirements workflow: Members of requirements team have to continually check their work Artifacts of requirements workflow need to be checked by members of the SQA group: Test workflow is performed Requirements team forgot to include a use case for updating a fashionability coefficient Current fashionability of an artist Can vary from month to month A new use case and its description are added Changes and extensions may have to be made at any time The Test Workflow: The Art Dealer The Test Workflow: The Art Dealer

11 The Classical Requirements Phase On one hand, there is no such a thing as object-oriented requirements Aim is to determine client s needs Requirements workflow has nothing to do with how product is to be built Analogous to no such a thing as an object-oriented user manual On the other hand, entire approach described, is object oriented in nature It is model oriented Use cases, together with their descriptions, form the basis of requirements workflow Modeling is the essence of object-oriented paradigm Modeling in general is not part of the classical paradigm: UML in particular The Classical Requirements Phase Classical requirements phase Starts with requirements elicitation Followed by requirements analysis Next step is to draw up a list of requirements Usual step after that is to build a rapid prototype Implements key functionality underlying those requirements Client and future users experiment with rapid prototype: Until rapid prototype exhibits key functionality Building a rapid prototype for the product as a whole is not part of object-oriented paradigm. Strongly advisable to build a rapid prototype of user interface Rapid Prototyping Rapid prototype Hastily built software that exhibits key functionality of target product Include: Input screens and output reports Not included: Error checking, file updating, and complex computations Rapid prototype reflects the functionality client sees: Omits hidden aspects Utilization of rapid prototype Client and intended users experiment with prototype Development team members observe and take notes Users provide feedback: How rapid prototype satisfies needs and areas that need improvement Developers change rapid prototype: until both sides are convinced Rapid Prototyping Rapid prototype used as basis for drawing up specifications Important aspects of rapid prototype Rapid: Built as quickly as possible, enabling client and developers to agree on product Built for change: If first version not acceptable, second version is built Languages used for rapid prototyping Fourth-generation languages (4GL) Interpreted languages (Smalltalk, Prolog, Lisp) Popular rapid prototyping languages of today (HTML, Perl) Concerns about maintainability of certain interpreted languages: Irrelevant from viewpoint of rapid prototyping Rapid prototyping is particularly effective when developing the user interface to a product

12 Human Factors Encouraging users to experiment with human-computer interface (HCI) greatly reduces risk that finished product has to be altered Experimentation can help achieve user-friendliness User-friendliness Ease with which human beings can communicate with software product Menu-driven products were introduced HCIs employ graphics Components of a graphical user interface (GUI) Windows, icons, pull-down menus Standards such as X Window have evolved Point-and-click selection is now the norm HCI designers must consider human factors Size of letters, capitalization, color, line length, number of lines Human Factors Menu-driven system thoughtfully designed Allowing user to change a previous selection: Without having to start again Product can be used by people with varying degree of experience: Different sets of HCI Benefits of taking into account human factors during design of an HCI Reduced learning times Lower error rates Uniformity of HCI appearances Across a product or a group of products Results in users intuitively knowing how to use a screen Taken into account by designers of Macintosh software Essential that a rapid prototype of HCI of every product be constructed Reusing the Rapid Prototype Alternative to discarding rapid prototype: Develop and refine the rapid prototype Generally unwise Advantage Fast software development Disadvantages Similar to code-and-fix approach Code difficult and expensive to maintain Lower performance of rapid prototypes One way of ensuring that the rapid prototype is discarded Building rapid prototype in a different language E.g., rapid prototype in HTML, product specified to be in Java Refining portions of rapid prototype Computer generated portions E.g., CASE tools for screen generation and report generation Reusing the Rapid Prototype Management decides on portions before rapid prototype is built Portions have to pass same quality assurance tests To ensure that quality of code is sufficiently high: Rapid prototype has to be built somewhat more slowly

13 CASE Tools for the Requirements Workflow A drawing tool that enables user to draw relevant UML diagrams with ease Major strengths Easier to change a diagram while iterating than to redraw by hand The details of the product are stored in the CASE tool: Documentation always available and up to date Weakness Not always user-friendly: Lots of functionality and steep learning curve Almost impossible to program a computer to draw UML diagrams that are as aesthetically pleasing as diagrams drawn by humans Considerable amount of time tweaking a diagram in a tool Many CASE tools are expensive: A number of open-source tools are available CASE Tools for the Requirements Workflow Overall: Strengths of CASE tools outweigh weaknesses Many classical graphical CASE workbenches and environments have been extended to support UML diagrams System Architect Software through Pictures Object-oriented CASE workbenches and environments IBM Rational Rose Together Open-source ArgoUML Metrics for the Requirements Workflow Key feature of requirements workflow: How rapidly requirements team determines client s real needs A useful metric: A measure of requirements volatility Keeping a record of how frequently the requirements change Management determining rate at which team converges on requirements Can be applied to any requirements elicitation technique Another metric: Number of requirements that change during the rest of software development process Recorded whether change initiated by the client or developers If a large number of changes initiated by developers: Process for requirements workflow should be reviewed If client makes repeated changes: Warning client about effects of the moving target problem Future changes should be held to a minimum Challenges of the Requirements Workflow Potential problems and pitfalls are associated with requirements workflow Essential to have the wholehearted cooperation of potential users Feeling threatened by computerization Concerns about potential impacts of the software product Another challenge: Ability to negotiate Scaling down what the client wants A product that does everything is not reasonable Arriving at a compromise among managers at client organization regarding functionality: Managers requesting features for their own group Another challenge: In many organization, individuals who possess the information that requirements team needs to elicit lack the time to meet for in-depth discussions

14 Challenges of the Requirements Workflow Team must inform client to decide what is important Developers may have to withdraw if no solution Finally: Flexibility and objectivity are essential for requirements elicitations Should approach each interview with no preconceived ideas Should never make assumptions about requirements

10.1 Determining What the Client Needs. Determining What the Client Needs (contd) Determining What the Client Needs (contd)

10.1 Determining What the Client Needs. Determining What the Client Needs (contd) Determining What the Client Needs (contd) Slide 10..1 CHAPTER 10 Slide 10..2 Object-Oriented and Classical Software Engineering REQUIREMENTS Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach [email protected] Overview Slide 10..3

More information

Requirements engineering

Requirements engineering Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and

More information

Chapter 8 Approaches to System Development

Chapter 8 Approaches to System Development Systems Analysis and Design in a Changing World, sixth edition 8-1 Chapter 8 Approaches to System Development Table of Contents Chapter Overview Learning Objectives Notes on Opening Case and EOC Cases

More information

Software Engineering. Requirements elicitation - Facts finding. Software Engineering Requirements Elicitation Slide 1

Software Engineering. Requirements elicitation - Facts finding. Software Engineering Requirements Elicitation Slide 1 Software Engineering Requirements elicitation - Facts finding Software Engineering Requirements Elicitation Slide 1 Chapter Objectives To introduce software the Requirements Engineering Process To describe

More information

Requirements Engineering Process

Requirements Engineering Process Software Engineering Requirements Engineering Process Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To describe the principal requirements engineering activities and d their

More information

To introduce software process models To describe three generic process models and when they may be used

To introduce software process models To describe three generic process models and when they may be used Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software

More information

Computer Science Department CS 470 Fall I

Computer Science Department CS 470 Fall I Computer Science Department CS 470 Fall I RAD: Rapid Application Development By Sheldon Liang CS 470 Handouts Rapid Application Development Pg 1 / 5 0. INTRODUCTION RAD: Rapid Application Development By

More information

Fourth generation techniques (4GT)

Fourth generation techniques (4GT) Fourth generation techniques (4GT) The term fourth generation techniques (4GT) encompasses a broad array of software tools that have one thing in common. Each enables the software engineer to specify some

More information

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping

More information

A Comparison of SOA Methodologies Analysis & Design Phases

A Comparison of SOA Methodologies Analysis & Design Phases 202 A Comparison of SOA Methodologies Analysis & Design Phases Sandra SVANIDZAITĖ Institute of Mathematics and Informatics, Vilnius University Abstract. Service oriented computing is a new software engineering

More information

Week 3. COM1030. Requirements Elicitation techniques. 1. Researching the business background

Week 3. COM1030. Requirements Elicitation techniques. 1. Researching the business background Aims of the lecture: 1. Introduce the issue of a systems requirements. 2. Discuss problems in establishing requirements of a system. 3. Consider some practical methods of doing this. 4. Relate the material

More information

Using Use Cases for requirements capture. Pete McBreen. 1998 McBreen.Consulting

Using Use Cases for requirements capture. Pete McBreen. 1998 McBreen.Consulting Using Use Cases for requirements capture Pete McBreen 1998 McBreen.Consulting [email protected] All rights reserved. You have permission to copy and distribute the document as long as you make no changes

More information

Life-Cycle Model. Software Life-Cycle Models. Software Development in Theory. Software Development in Practice

Life-Cycle Model. Software Life-Cycle Models. Software Development in Theory. Software Development in Practice Life-Cycle Model Software Life-Cycle Models Xiaojun Qi It specifies the various phases/workflows of the software process, such as the requirements, analysis (specification), design, implementation, and

More information

Use-Case Analysis. ! What is it? ! From where did it come? ! Now part of UML

Use-Case Analysis. ! What is it? ! From where did it come? ! Now part of UML Use-Case Analysis Use-Case Analysis! What is it?! An informal, user-friendly, technique useful for functional requirements analysis and specification! From where did it come?! Ivar Jacobson, a Swedish

More information

CHAPTER 01 THE SCOPE OF SOFTWARE ENGINEERING

CHAPTER 01 THE SCOPE OF SOFTWARE ENGINEERING Lecture Software Engineering CHAPTER 01 THE SCOPE OF SOFTWARE ENGINEERING Lecture Software Engineering Topics Introduction Historical Aspects Economic Aspects Requirements, Analysis, and Design Aspects

More information

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when

More information

Object-Oriented Design Guidelines

Object-Oriented Design Guidelines Adaptive Software Engineering G22.3033-007 Session 8 Sub-Topic 3 Presentation Object-Oriented Design Guidelines Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute

More information

Execution of A Requirement Model in Software Development

Execution of A Requirement Model in Software Development Execution of A Requirement Model in Software Development Wuwei Shen, Mohsen Guizani and Zijiang Yang Dept of Computer Science, Western Michigan University {wwshen,mguizani,zijiang}@cs.wmich.edu Kevin Compton

More information

Requirements engineering and quality attributes

Requirements engineering and quality attributes Open Learning Universiteit Unit 2 Learning Unit 2 Requirements engineering and quality attributes Contents Introduction............................................... 21 2.1 Important concepts........................................

More information

SOFTWARE PROCESS MODELS

SOFTWARE PROCESS MODELS SOFTWARE PROCESS MODELS Slide 1 Software Process Models Process model (Life-cycle model) - steps through which the product progresses Requirements phase Specification phase Design phase Implementation

More information

CHAPTER 02 SOFTWARE LIFE-CYCLE MODELS

CHAPTER 02 SOFTWARE LIFE-CYCLE MODELS Lecture Software Engineering CHAPTER 02 SOFTWARE LIFE-CYCLE MODELS Lecture Software Engineering Topics Software Development in Theory Lessons of Case Studies Iteration and Incrementation Risks and Other

More information

Sistemi ICT per il Business Networking

Sistemi ICT per il Business Networking Corso di Laurea Specialistica Ingegneria Gestionale Sistemi ICT per il Business Networking Software Development Processes Docente: Vito Morreale ([email protected]) 17 October 2006 1 The essence of

More information

Business Process Modeling Information Systems in Industry (372-1-4207 )

Business Process Modeling Information Systems in Industry (372-1-4207 ) Business Process Modeling Information Systems in Industry (372-1-4207 ) Arnon Sturm The material of this presentation is adopted from various people including:, Pnina Soffer, Iris Reinhartz-Berger 1 Outline

More information

Story Card Based Agile Software Development

Story Card Based Agile Software Development Story Card Based Agile Software Development Chetankumar Patel, and Muthu Ramachandran Leeds Metropolitan University, UK [email protected] Abstract The use of story cards for user stories in many Extreme

More information

Large Scale Systems Design G52LSS

Large Scale Systems Design G52LSS G52LSS Lecture 3 Rapid and Agile Development Rapid Application Development Prototyping CASE Tools Agile Development Extreme Programming Learning outcomes: describe main features of methods for RAD and

More information

Surveying and evaluating tools for managing processes for software intensive systems

Surveying and evaluating tools for managing processes for software intensive systems Master Thesis in Software Engineering 30 Credits, Advanced Level Surveying and evaluating tools for managing processes for software intensive systems Anuradha Suryadevara IDT Mälardalen University, ABB

More information

GCE APPLIED ICT A2 COURSEWORK TIPS

GCE APPLIED ICT A2 COURSEWORK TIPS GCE APPLIED ICT A2 COURSEWORK TIPS COURSEWORK TIPS A2 GCE APPLIED ICT If you are studying for the six-unit GCE Single Award or the twelve-unit Double Award, then you may study some of the following coursework

More information

CS4507 Advanced Software Engineering

CS4507 Advanced Software Engineering CS4507 Advanced Software Engineering Lectures 2 & 3: Software Development Lifecycle Models A O Riordan, 2015 Some diagrams from Sommerville, some notes from Maciaszek/Liong Lifecycle Model Software development

More information

White Paper: Designing Resourceful Graphical User Interfaces (GUIs) for Healthcare Applications

White Paper: Designing Resourceful Graphical User Interfaces (GUIs) for Healthcare Applications Accelerate Development Reduce Time to Product Automate Critical Tasks White Paper: Designing Resourceful Graphical User Interfaces (GUIs) for Healthcare Applications The ASHVINS GROUP, Inc. 6161 Blue Lagoon

More information

Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao

Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao Requirements Analysis Concepts & Principles Instructor: Dr. Jerry Gao Requirements Analysis Concepts and Principles - Requirements Analysis - Communication Techniques - Initiating the Process - Facilitated

More information

eclips Design Packet Middle School and High School NASA Real World: Mathematics (Grades 6-8) NASA Launchpad (Grades 9-12) Educational Product

eclips Design Packet Middle School and High School NASA Real World: Mathematics (Grades 6-8) NASA Launchpad (Grades 9-12) Educational Product eclips Middle School and High School Design Packet Educational Product Educators & Students Grades 6-12 NP-2009-12-229-LaRC NASA Real World: Mathematics (Grades 6-8) NASA Launchpad (Grades 9-12) www.nasa.gov/education/nasaeclips

More information

What is a life cycle model?

What is a life cycle model? What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each

More information

A Comparison of System Dynamics (SD) and Discrete Event Simulation (DES) Al Sweetser Overview.

A Comparison of System Dynamics (SD) and Discrete Event Simulation (DES) Al Sweetser Overview. A Comparison of System Dynamics (SD) and Discrete Event Simulation (DES) Al Sweetser Andersen Consultng 1600 K Street, N.W., Washington, DC 20006-2873 (202) 862-8080 (voice), (202) 785-4689 (fax) [email protected]

More information

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Not this life cycle SE, Software Lifecycle, Hans van Vliet, 2008 2 Introduction software development

More information

CHAPTER 3 Requirements Modeling (Phase 2: Systems Analysis)

CHAPTER 3 Requirements Modeling (Phase 2: Systems Analysis) CHAPTER 3 Requirements Modeling (Phase 2: Systems Analysis) Jakrapop Maisen SYSTEM ANALYSIS PHASE OVERVIEW Data and Process Modeling Requirements Modeling Development Strategies Figure 1 The systems analysis

More information

[1] http://en.wikipedia.org/wiki/first-mover_advantage [2] http://www.acunote.com

[1] http://en.wikipedia.org/wiki/first-mover_advantage [2] http://www.acunote.com -Gene Sher Software Development Processes: Those in engineering and science will sooner or later either be members of teams solving some large project, or be managing teams solving some large project.

More information

User experience storyboards: Building better UIs with RUP, UML, and use cases

User experience storyboards: Building better UIs with RUP, UML, and use cases Copyright Rational Software 2003 http://www.therationaledge.com/content/nov_03/f_usability_jh.jsp User experience storyboards: Building better UIs with RUP, UML, and use cases by Jim Heumann Requirements

More information

Chapter 4 Software Lifecycle and Performance Analysis

Chapter 4 Software Lifecycle and Performance Analysis Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and

More information

Digital Industries Trailblazer Apprenticeship. Software Developer - Occupational Brief

Digital Industries Trailblazer Apprenticeship. Software Developer - Occupational Brief Digital Industries Trailblazer Apprenticeship Software Developer - Occupational Brief Table of Contents Contents 1 Software Developer Trailblazer Apprenticeship Introduction... 1 2 Software Developer Trailblazer

More information

Market Validation. 10% of the expected cost of developing the product. Two day triage of your idea to determine if more time and effort is required.

Market Validation. 10% of the expected cost of developing the product. Two day triage of your idea to determine if more time and effort is required. Market Validation 1. Definition Market Validation is a process applied to the unstructured, serendipitous task of doing a complete evaluation of the market for a product before the product is built. Rob

More information

Development Methodologies

Development Methodologies Slide 3.1 Development Methodologies Prof. Dr. Josef M. Joller [email protected] Development Methodologies Prof. Dr. Josef M. Joller 1 Session 3 Slide 3.2 SOFTWARE LIFE-CYCLE MODELS Development Methodologies

More information

Requirements Engineering: Elicitation Techniques

Requirements Engineering: Elicitation Techniques 2008:PR003 Requirements Engineering: Elicitation Techniques Sai Ganesh. Gunda Source:http://www.marcocioffi.com/archives/2005/04/requirements-engineering/ MASTER S THESIS Software Engineering, 2008 Department

More information

A Rational Software & Context Integration white paper

A Rational Software & Context Integration white paper Building Web Solutions with the Rational Unified Process: Unifying the Creative Design Process and the Software Engineering Process A Rational Software & Context Integration white paper R TABLE OF CONTENTS

More information

Software Development Life Cycle (SDLC)

Software Development Life Cycle (SDLC) Software Development Life Cycle (SDLC) Supriyo Bhattacharjee MOF Capability Maturity Model (CMM) A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process

More information

Higher National Unit specification. General information. Software Development: Analysis and Design (SCQF level 7) Unit code: HA4C 34.

Higher National Unit specification. General information. Software Development: Analysis and Design (SCQF level 7) Unit code: HA4C 34. Higher National Unit specification General information Unit code: HA4C 34 Superclass: CB Publication date: January 2016 Source: Scottish Qualifications Authority Version: 02 Unit purpose The purpose of

More information

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2).

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2). 0305203 0305280 0305301 0305302 Software Engineering/Courses Description Introduction to Software Engineering Prerequisite: 0306211(Computer Programming 2). This course introduces students to the problems

More information

Fundamentals of Information Systems, Fifth Edition. Chapter 8 Systems Development

Fundamentals of Information Systems, Fifth Edition. Chapter 8 Systems Development Fundamentals of Information Systems, Fifth Edition Chapter 8 Systems Development Principles and Learning Objectives Effective systems development requires a team effort of stakeholders, users, managers,

More information

Requirements Definition and Management Processes

Requirements Definition and Management Processes Software Engineering G22.2440-001 Session 1 Sub-Topic 1 Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute

More information

SOFTWARE REQUIREMENTS

SOFTWARE REQUIREMENTS SOFTWARE REQUIREMENTS http://www.tutorialspoint.com/software_engineering/software_requirements.htm Copyright tutorialspoint.com The software requirements are description of features and functionalities

More information

Human-Readable BPMN Diagrams

Human-Readable BPMN Diagrams Human-Readable BPMN Diagrams Refactoring OMG s E-Mail Voting Example Thomas Allweyer V 1.1 1 The E-Mail Voting Process Model The Object Management Group (OMG) has published a useful non-normative document

More information

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software... 1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering Software is intangible Hard to understand

More information

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice In this Lecture you will Learn: Development Chapter 5C About the Unified Software Development How phases relate to workflows in an iterative life cycle An approach to system development Major activities

More information

Menouer Boubekeur, Gregory Provan

Menouer Boubekeur, Gregory Provan Software Requirements Menouer Boubekeur, Gregory Provan Lectures Introduction to UML Introduction to Requirements Analysis Advanced techniques for Requirement Analysis M. Boubekeur, CSL, University College

More information

Scrum, User Stories, and More! CSCI 5828: Foundations of Software Engineering Lecture 22 11/06/2014

Scrum, User Stories, and More! CSCI 5828: Foundations of Software Engineering Lecture 22 11/06/2014 Scrum, User Stories, and More! CSCI 5828: Foundations of Software Engineering Lecture 22 11/06/2014 1 Goals Cover Material from our User Stories Book Chapter 15: Using Stories With Scrum Chapter 16: Additional

More information

Improving Government Websites and Surveys With Usability Testing and User Experience Research

Improving Government Websites and Surveys With Usability Testing and User Experience Research Introduction Improving Government Websites and Surveys With Usability Testing and User Experience Research Jennifer Romano Bergstrom, Jonathan Strohl Fors Marsh Group 1010 N Glebe Rd., Suite 510, Arlington,

More information

CFSD 21 ST CENTURY SKILL RUBRIC CRITICAL & CREATIVE THINKING

CFSD 21 ST CENTURY SKILL RUBRIC CRITICAL & CREATIVE THINKING Critical and creative thinking (higher order thinking) refer to a set of cognitive skills or strategies that increases the probability of a desired outcome. In an information- rich society, the quality

More information

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur Module 2 Software Life Cycle Model Lesson 4 Prototyping and Spiral Life Cycle Models Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what a prototype is.

More information

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.) The Software Process Xiaojun Qi 1 The Unified Process Until recently, three of the most successful object-oriented methodologies were Booch smethod Jacobson s Objectory Rumbaugh s OMT (Object Modeling

More information

REQUIREMENTS SPECIFICATION AND MANAGEMENT. Requirements Analysis and Specification

REQUIREMENTS SPECIFICATION AND MANAGEMENT. Requirements Analysis and Specification REQUIREMENTS SPECIFICATION AND MANAGEMENT In this note we give the requirements process in a software organization, a template for the requirements document, and the process to manage changes to the requirements.

More information

How To Model Software Development Life Cycle Models

How To Model Software Development Life Cycle Models Various Software Development Life Cycle Models Sahil Jindal, Puneet Gulati, Praveen Rohilla Dronacharya College of Engineering, India Abstract:An SDLC model is a conceptual framework describing different

More information

Systems analysis is the dissection of a system into its component pieces to study how those component pieces interact and work.

Systems analysis is the dissection of a system into its component pieces to study how those component pieces interact and work. SYSTEMS ANALYSIS Systems analysis is the dissection of a system into its component pieces to study how those component pieces interact and work. We do a systems analysis to subsequently perform a systems

More information

ATM Case Study Part 1

ATM Case Study Part 1 ATM Case Study Part 1 A requirements document specifies the purpose of the ATM system and what it must do. Requirements Document A local bank intends to install a new automated teller machine (ATM) to

More information

Usability Test Plan Docutek ERes v. 5.0.05 University of Texas Libraries

Usability Test Plan Docutek ERes v. 5.0.05 University of Texas Libraries Usability Test Plan Docutek ERes v. 5.0.05 University of Texas Libraries Prepared for: INF 385p Usability (Dr. Randolph Bias) Prepared by: Laura Bright, Rachael Gilg and Heather Nodler Date: March 24,

More information

Chapter 13 Computer Programs and Programming Languages. Discovering Computers 2012. Your Interactive Guide to the Digital World

Chapter 13 Computer Programs and Programming Languages. Discovering Computers 2012. Your Interactive Guide to the Digital World Chapter 13 Computer Programs and Programming Languages Discovering Computers 2012 Your Interactive Guide to the Digital World Objectives Overview Differentiate between machine and assembly languages Identify

More information

Software Requirements Specification

Software Requirements Specification Page 1 of 9 Software Requirements Specification Version 2.0 December 15, 2001 "Space Fractions" The Denominators (Team 10-2) Stephen Babin Gordon Brown Charles Browning Ingrid Chao Maggie Fang Roberto

More information

11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java. What is Project Management?

11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java. What is Project Management? 11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 11: Managing the Software Process Project management encompasses all the

More information

Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective

Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective Orit Hazzan's Column Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective This column is coauthored with Jeff Kramer, Department of Computing, Imperial College, London ABSTRACT

More information

LECTURE 3 REQUIREMENTS GATHERING

LECTURE 3 REQUIREMENTS GATHERING LECTURE 3 REQUIREMENTS GATHERING Key Definitions The As-Is system is the current system and may or may not be computerized The To-Be system is the new system that is based on updated requirements The System

More information

Development Methodologies Compared

Development Methodologies Compared N CYCLES software solutions Development Methodologies Compared Why different projects require different development methodologies. December 2002 Dan Marks 65 Germantown Court 1616 West Gate Circle Suite

More information

Chapter 12 Programming Concepts and Languages

Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Paradigm Publishing, Inc. 12-1 Presentation Overview Programming Concepts Problem-Solving Techniques The Evolution

More information

Software Engineering. Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti

Software Engineering. Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti Software Engineering Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical

More information

The Computing Curriculum at Coston Primary

The Computing Curriculum at Coston Primary Years Year 1 Year 2 1 and 2 Autumn We are learning about programming and computational thinking and in We are learning about programming and computational thinking and in Year 1 Food and farming Year 2

More information

11 Tips to make the requirements definition process more effective and results more usable

11 Tips to make the requirements definition process more effective and results more usable 1 11 Tips to make the s definition process more effective and results more usable This article discusses what I believe are the key techniques for making s definition process repeatable from project to

More information

Object Oriented Programming. Risk Management

Object Oriented Programming. Risk Management Section V: Object Oriented Programming Risk Management In theory, there is no difference between theory and practice. But, in practice, there is. - Jan van de Snepscheut 427 Chapter 21: Unified Modeling

More information

Testing Websites with Users

Testing Websites with Users 3 Testing Websites with Users 3 TESTING WEBSITES WITH USERS Better Practice Checklist Practical guides for effective use of new technologies in Government www.agimo.gov.au/checklists version 3, 2004 Introduction

More information

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology Process Methodology for Wegmans Deli Kiosk Version 1.0 Prepared by DELI-cious Developers Rochester Institute of Technology September 15, 2013 1 Table of Contents 1. Process... 3 1.1 Choice... 3 1.2 Description...

More information

The value of modeling

The value of modeling The value of modeling Level: Introductory Gary Cernosek, Marketing Manager, IBM Rational Eric Naiburg, Group Market Manager Desktop Products, IBM Rational 15 Nov 2004 from The Rational Edge: This article

More information

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit Development models R. Kuiper and E.J. Luit 1 Introduction We reconsider the classical development models: the Waterfall Model [Bo76], the V-Model [Ro86], the Spiral Model [Bo88], together with the further

More information

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology? In this Lecture you will Learn: Systems Development Methodologies What a systems development methodology is Why methodologies are used The need for different methodologies The main features of one methodology

More information

Domain modeling: Leveraging the heart of RUP for straight through processing

Domain modeling: Leveraging the heart of RUP for straight through processing Copyright Rational Software 2003 http://www.therationaledge.com/content/jun_03/t_domainmodeling_rm.jsp Domain modeling: Leveraging the heart of RUP for straight through processing by Richard Menard Vice

More information

New Generation of Software Development

New Generation of Software Development New Generation of Software Development Terry Hon University of British Columbia 201-2366 Main Mall Vancouver B.C. V6T 1Z4 [email protected] ABSTRACT In this paper, I present a picture of what software development

More information

Business Analyst Interview Questions And Answers

Business Analyst Interview Questions And Answers Business Analyst Interview Questions And Answers What Does A Business Analyst Do 2013 All Rights Reserved http://www.whatdoesabusinessanalystdo.com (1) Question: Tell me the importance of a flow chart?

More information

Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture

Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture Delmir de Azevedo Junior 1 and Renato de Campos 2 1 Petrobras University, Republican

More information

CS 6361, SPRING 2010 Advanced Requirements Engineering Web Based Meeting Scheduler- Project Plan

CS 6361, SPRING 2010 Advanced Requirements Engineering Web Based Meeting Scheduler- Project Plan 1 W E B B A S E D M E E T I N G S C H E D U L E R S Y S T E M Project Plan Version 4.0 CS 6361 ADVANCED REQUIREMENTS ENGINEERING, SPRING 2010 UNIVERSITY OF TEXAS AT DALLAS R E Q U I R E M E N T S E N G

More information

Comparison of Various Requirements Elicitation Techniques

Comparison of Various Requirements Elicitation Techniques Comparison of Various Requirements Elicitation Techniques Masooma Yousuf Department of Computer Science, Baba Ghulam Shah Badshah University, Rajouri, J&K, India M. Asger School of Mathematical Sciences

More information

Requirements Engineering Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 7 Slide 1

Requirements Engineering Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 7 Slide 1 Requirements Engineering Processes Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 7 Slide 1 Objectives To describe the principal requirements engineering activities and their relationships

More information

Software Project Management and UML

Software Project Management and UML Software Project Management and UML Ali Bigdelou Computer Aided Medical Procedures (CAMP), Technische Universität München, Germany Outline Intro to Software Project Management Project Requirements Specification

More information

Object-Oriented and Classical Software Engineering

Object-Oriented and Classical Software Engineering Slide 2.1 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach [email protected] CHAPTER 2 Slide 2.2 SOFTWARE LIFE-CYCLE MODELS 1 Overview Slide

More information

Software Life Cycle. Management of what to do in what order

Software Life Cycle. Management of what to do in what order Software Life Cycle Management of what to do in what order Software Life Cycle (Definition) The sequence of activities that take place during software development. Examples: code development quality assurance

More information

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK IBM Software Group Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK Jean-Louis Maréchaux Software IT Specialist IBM Rational

More information

Title: Topic 3 Software process models (Topic03 Slide 1).

Title: Topic 3 Software process models (Topic03 Slide 1). Title: Topic 3 Software process models (Topic03 Slide 1). Topic 3: Lecture Notes (instructions for the lecturer) Author of the topic: Klaus Bothe (Berlin) English version: Katerina Zdravkova, Vangel Ajanovski

More information

Expert Reference Series of White Papers. Intersecting Project Management and Business Analysis

Expert Reference Series of White Papers. Intersecting Project Management and Business Analysis Expert Reference Series of White Papers Intersecting Project Management and Business Analysis 1-800-COURSES www.globalknowledge.com Intersecting Project Management and Business Analysis Daniel Stober,

More information

1 INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN

1 INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN 1 INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN 1.1 INTRODUCTION Systems are created to solve problems. One can think of the systems approach as an organized way of dealing with a problem. In this dynamic

More information

The Scientific Data Mining Process

The Scientific Data Mining Process Chapter 4 The Scientific Data Mining Process When I use a word, Humpty Dumpty said, in rather a scornful tone, it means just what I choose it to mean neither more nor less. Lewis Carroll [87, p. 214] In

More information

Screen Design : Navigation, Windows, Controls, Text,

Screen Design : Navigation, Windows, Controls, Text, Overview Introduction Fundamentals of GUIs - methods - Some examples Screen : Navigation, Windows, Controls, Text, Evaluating GUI Performance 1 Fundamentals of GUI What kind of application? - Simple or

More information

User Stories Applied

User Stories Applied User Stories Applied for Agile Software Development Mike Cohn Boston San Francisco New York Toronto Montreal London Munich Paris Madrid Capetown Sydney Tokyo Singapore Mexico City Chapter 2 Writing Stories

More information