CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae

Size: px
Start display at page:

Download "CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae"

Transcription

1 CS350 Lecture 2 Requirements Engineering Doo-Hwan Bae bae@se.kaist.ac.kr

2 Contents Overview of Requirements Engineering OO Analysis: Domain modeling, Use-case, sequence, class Structured Analysis: Dataflow diagraming Finite State Machines: State transition diagraming Petri-Nets: control/operational CS350 Software Engineering, SoC, KAIST 2

3 Importance of Requirements (1/2) Problem: Sorting a given list of numbers in ascending order. In order to solve it, answer the following questions Is the given problem statement sufficient to develop a program? If not, what additional information do we need to know? CS350 Software Engineering, SoC, KAIST 3

4 Importance of Requirements (2/2) in SW Development Projects Some advices from industry practitioners Do not make assumptions as to the user/customer s needs, ask them. Involve the end users as soon as possible, get in touch with the actual people that will be using the software on a daily basis, they are the ones that truly understand what Is needed. Scope creep is major issue in most project, especially custom development. A clear and defined scope is going to save a lot of headaches for all involved in the long run. A great way to show a customer what you envision is with a prototype. A well written, clear and easy to follow documentation of the requirements is essential and before they sign off, go over it with the customer It is important to understand the environment in which the software will run CS350 Software Engineering, SoC, KAIST 4

5 Requirements Engineering Overview (1/7) Must state what to do, not how to do. Identify the qualities required for the application. Functional and nonfunctional Used by both customer and designers CS350 Software Engineering, SoC, KAIST 5

6 Requirements Engineering Overview(2/7) Three steps in RE Requirements Elicitation (gathering and analysis) -- understand/analyze the problem Requirements Specification -- Once the problem is understood, it has to be specified -- Or, describe the product to be delivered -- Informal and formal methods, used. Requirements validation and verification -- Once described, the different parties involved have to agree upon its nature. -- Validation: the correct R s are stated. -- Verification: The R s are stated correctly CS350 Software Engineering, SoC, KAIST 6

7 Requirements Engineering Overview(3/7) Group User R s into several categories (MoSCoW) - Must haves: Essential features - Should haves: Nice features - Could haves: if time allows - Won t haves: not today CS350 Software Engineering, SoC, KAIST 7

8 Requirements Engineering Overview(4/7) Separate functional requirements into three views: A model of data/static structure: Entity relationship diagrams, domain model (class diagram) A model of function: Data flow diagrams, use case diagram A model of control: Control flow diagrams, State Machines, Petri nets, sequence diagram CS350 Software Engineering, SoC, KAIST 8

9 Requirements Engineering Overview(5/7) Other Requirements - Which machine, which OS, which DBMS, terminal? - Which classes of users can be distinguished? - What is the size of the DB, how is it expected to grow? - What response time should the system offer? - How much will a system of this kind cost? CS350 Software Engineering, SoC, KAIST 9

10 Requirements Engineering Overview(6/7) Seven Deadly Sins Noise Irrelevant information Confusing presentation Silence Omissions Over-specification Premature implementation decisions Contradiction Inconsistency Ambiguity Forward reference Wishful thinking CS350 Software Engineering, SoC, KAIST 10

11 Requirements Engineering Overview(7/7) Specification Qualities Clear, unambiguous, understandable Consistent Complete Functional Verifiable Traceable Easily changed CS350 Software Engineering, SoC, KAIST 11

12 Specification Methods Representative methods: OO Analysis: object-oriented Domain/Class,, Use-case, Sequence diagram Structured Analysis: Dataflow diagram, Data dictionary Finite State Machines: State transition diagram Petri-Nets: CS350 Software Engineering, SoC, KAIST 12

13 Domain Modeling Why? The goal of domain modeling is to understand how system-tobe will work Requirements analysis determined how users will interact with system-to-be (external behavior) Domain modeling determines how elements of system-to-be interact (internal behavior) to produce the external behavior Where? We do domain modeling based on the following sources: Knowledge of how system-to-be is supposed to behave (from requirements analysis, e.g., use cases) Studying the work domain (or, problem domain) Knowledge base of software designs Developer s past experience with software design CS350 Software Engineering, SoC, KAIST 13

14 Domain Modeling What? Illustrates meaningful conceptual classes in a problem domain Is a representation of real-world concepts, not software artifacts Is the most important objects/classes in OO development Decompose the system into a set of objects, rather than functions! How? Identify nouns and noun phrases in textual descriptions of the domain Use use cases in use-case diagrams Add associations for relationships that must be retained Add attributes necessary for information to be preserved CS350 Software Engineering, SoC, KAIST 14

15 Conceptual Class vs. Software Artifacts CS350 Software Engineering, SoC, KAIST 15

16 Use Case Analysis vs. Domain Analysis In use case analysis, we consider the system as a black box In domain analysis, we consider the system as a transparent box (a) (b) System Domain Model Use Case 1 Use Case 2 Actor Use Case N Actors Actor Actors CS350 Software Engineering, SoC, KAIST 16

17 Example: ATM Machine System (b) Domain Model Concept 1 Concept Actor (Bank customer) (ATM machine) Actor (Remote datacenter) Actor Concept 2 Concept n (a) Actor CS350 Software Engineering, SoC, KAIST 17

18 Building Domain Model from Use Cases Step 1: Identifying the boundary concepts Boundary concepts Concept 3 Concept 1 Actor C Actor A Step 2: Identifying the internal concepts Actor B Concept 2 Concept 4 Actor D Concept 3 Actor A Concept 1 Concept 5 Concept 6 Actor C Actor B Concept 2 Internal concepts Concept 4 Actor D CS350 Software Engineering, SoC, KAIST 18

19 Initial ATM Requirements ( Problem ) A customer uses a bank ATM for checking balances of bank accounts, depositing funds, withdrawing cashes, and transferring funds. A bank ATM consists of a keypad, screen, cash dispenser, ATM card reader, cash deposit slot. A user can have a checking account and saving account. A customer enters his/her card and password for authentication and then choose a transaction to be executed. After the transaction is over, the ATM returns the card and receipt, and stores the transaction for bookkeeping. Once the request from the ATM is passed, the bank checks the account and process a requested transaction and update the account CS350 Software Engineering, SoC, KAIST 19

20 Identify Use Cases Identify actors first Actor: a person/thing that initiate actions to a system or receives results of actions from the system Use cases are Why the customer goes to the ATM? Find action terms from the initial requirements Check balances Deposit funds Withdraw cashes Transfer funds Enters card/password Authenticate Choose a transaction Return a card.. Check, process, update CS350 Software Engineering, SoC, KAIST 20

21 Use Case Diagram for ATM Let us try Identify actors, use cases, system boundary CS350 Software Engineering, SoC, KAIST 21

22 Top-level Use Cases CS350 Software Engineering, SoC, KAIST 22

23 Identify the classes Identify all the nouns or noun phrases. Customer, bank, ATM, (bank) account, funds, cash, keypad, screen, cash dispenser, cash deposit slot, user, checking account, saving account, card, password, transaction, receipt, bookkeeping, request. Eliminate redundant, irrelevant, implementation constructs, attributes, etc CS350 Software Engineering, SoC, KAIST 23

24 Initial Class Diagram (Domain Model) Objects: ATM, Keypad, Deposit slot, Cash dispenser, Screen, Transaction, Bank, Account, Customer Draw a class diagram with only classes and relationships CS350 Software Engineering, SoC, KAIST 24

25 Domain Model for an ATM & Bank CS350 Software Engineering, SoC, KAIST 25

26 Domain Model for an ATM & Bank ATM in Bank Consortium CS350 Software Engineering, SoC, KAIST 26

27 Refined Class D CS350 Software Engineering, SoC, KAIST 27

28 High Level Sequence Diagram You can have more SDs CS350 Software Engineering, SoC, KAIST 28

29 Refining Diagrams Now we have Use case diagram Initial class diagram (domain diagram) Sequence diagram Once, the initial requirements analysis/specification is over, refining those diagrams until.. Then, verify the results Also, identify Non-functional requirements CS350 Software Engineering, SoC, KAIST 29

30 Structured Analysis Consists of -- Data Flow Diagram -- Data Dictionary -- Process Specification CS350 Software Engineering, SoC, KAIST 30

31 Data Flow Diagram For business data processing, where control aspects may not play significant role. Components Function, or action: Data store: External entity: Data flow: Conceptual Example: (a + b) * ( c + a * d) b + a * d c * CS350 Software Engineering, SoC, KAIST 31

32 Data Flow Diagram(Cont.) Example: Automatic Teller Machine(ATM) CS350 Software Engineering, SoC, KAIST 32

33 Data Flow Diagram (Cont.) Drawback: Cannot give a precise and detailed definition. Cannot simulate the system with DFDs. Extensions Integrate with different description, i.e., STD Augment DFD with control flow, Ward&Mellor Revise DFD, to make it fully formal CS350 Software Engineering, SoC, KAIST 33

34 Data Dictionary(1/2) Contains formal definitions of all the data items shown in DFD Provides precise detail concerning the data entities Format -- Alphabetically ordered list of entries -- Consists of formal definitions and verbal descriptions Notations: data-element-name = expression + : concatenation : alternatives : literals [ ] : options { } : repetitions CS350 Software Engineering, SoC, KAIST 34

35 Data Dictionary(2/2) Example 1 Payment = US-dollars Korean-Wons US-dollars = $ + dollar-amt +. + cent-amt * Payment is the income received from subscribers. It is entered as dollars and cents. Korean-Wons = w +.. dollar-amt = {digit} cent-amt = digit + digit digit = CS350 Software Engineering, SoC, KAIST 35

36 Finite State Machine (FSM) (1/3) Emphasize control aspects of the application. Components A finite set of states A finite set of input A transition function CS350 Software Engineering, SoC, KAIST 36

37 FSM (2/3) Example: Producer/Consumer problem. write producer P1 produce P2 consumer C1 consume read C2 buffer 0 read 1 read 2 write write CS350 Software Engineering, SoC, KAIST 37

38 FSM (3/3) Drawback; Computation power is limited. (Not easy to specify data info.) The cardinality of the state space growth Difficult to specify asynchronous activities CS350 Software Engineering, SoC, KAIST 38

39 Petri Net (1/4) Specify asynchronous systems Components A finite set of places: A finite set of transitions: A finite set of arrows: from places to transitions, from transitions to places. Tokens CS350 Software Engineering, SoC, KAIST 39

40 Petri Net (2/4) Example: Producer/Consumer problem. write P1 C1 produce consume read P2 C2 read read CS350 Software Engineering, SoC, KAIST 40 write write

41 Petri Net (3/4) Modeling examples Finite state machines. Parallel activities. Data flow computations. Communication protocols. Synchronous control. Producer-consumer problem with priority. Formal languages CS350 Software Engineering, SoC, KAIST 41

42 Petri Net (4/4) Drawback: Too simple to specify complex systems. Not possible to specify a selection policy. Timing issues for real-time systems. Extensions: Assigning values to tokens. Specifying scheduling policies. Incorporate timing constraints CS350 Software Engineering, SoC, KAIST 42

43 Nonfunctional Requirements User interface & human factors Documentation Hardware consideration Performance characterization System interfacing Quality issues System modification Physical environments Security issues Resources and management issues CS350 Software Engineering, SoC, KAIST 43

44 Summary Remember that in the real world, no one will give you the exact, complete, consistent, and unambiguous requirements for software development. Also requirements document will be used as a contract Requirements changes are inevitable. Be prepared! In addition to functional requirements, nonfunctional requirements are also important for value-added software development CS350 Software Engineering, SoC, KAIST 44

45 Exercise Try the following case study and examples CS350 Software Engineering, SoC, KAIST 45

46 Requirements Engineering: Case Study(1/4) University s library want to automate its operations by SW. Start with the library containing a number of cabinets, each holds a huge number of cards, one per book. Each card contains the names of the authors, the book title, ISBN, publication year, etc.. The cards are ordered alphabetically by the name of the first author of each book. Starting with the above statements, you are expected to specify its requirements CS350 Software Engineering, SoC Fall

47 Requirements Engineering: Case Study(2/4) What are the ambiguities, here? It only works well if we know the first author s name. Solution to it: -- Duplicating each card a number of times -- Use database During Requirements Analysis, a number of user R s can be raised: - Adding, deleting, and changing records - Give a list of all books written by X - Give a list of all books whose title contains Y - Give a list of all books on topic Z - Give a list of all books that arrived after date D CS350 Software Engineering, SoC Fall

48 Requirements Engineering: Case Study(3/4) Predict a number of future requirements Storing information about the books that have been ordered but have not been received. Storing information about the library members, such as their names and addresses, and the dates on which books are lent to them Library management may wish to use the system to get information on member profiles in order to improve the title acquisition process CS350 Software Engineering, SoC Fall

49 Requirements Engineering: Case Study(4/4) Other Requirements Which machine, which OS, which DBMS, terminal? Which classes of users can be distinguished? What is the size of the DB, how is it expected to grow? What response time should the system offer? How much will a system of this kind cost? CS350 Software Engineering, SoC Fall

50 Examples: Wrong Specifications(1/2) Example: "select" command in word processing. ``Selecting is the process for designating areas of your document that you want to work on. Most editing and formatting actions require two steps:first you select what you want to work on, such as text or graphics, then you initiate the appropriate." Q: What are ambiguous? Example: Space shuttle monitoring system ``The message must be triplicated. The three copies must be forwarded through three different physical channels. The receiver accepts the message on the basis of a two-out-ofthree voting policy." Q: What is not clear? CS350 Software Engineering, SoC, KAIST 50

51 Examples: Wrong Specification(2/2) Example: A text editor ``The whole text should be kept in lines of equal length, with the length specified by the user. Unless the user is given an explicit hyper-nation command, a carriage return should occur only at the end of a word." Q: What is inconsistent? CS350 Software Engineering, SoC, KAIST 51

Introduction to Software Specifications and Data Flow Diagrams. Neelam Gupta The University of Arizona

Introduction to Software Specifications and Data Flow Diagrams. Neelam Gupta The University of Arizona Introduction to Software Specifications and Data Flow Diagrams Neelam Gupta The University of Arizona Specification A broad term that means definition Used at different stages of software development for

More information

Requirement Analysis

Requirement Analysis Requirement Analysis Requirements Analysis & Specification Objective: determine what the system must do to solve the problem (without describing how) Done by Analyst (also called Requirements Analyst)

More information

Administrivia. Wednesday: Requirements and Specification. CS169 Lecture 4. We assign teams and you start on Monday. Determining Stakeholders and Needs

Administrivia. Wednesday: Requirements and Specification. CS169 Lecture 4. We assign teams and you start on Monday. Determining Stakeholders and Needs Administrivia Requirements and Specification CS169 Lecture 4 Wednesday: Groups and one-sentence idea(s) due at class One per group If you have a small group, still submit so that you will be kept together.

More information

Darshan Institute of Engineering & Technology for Diploma Studies

Darshan Institute of Engineering & Technology for Diploma Studies REQUIREMENTS GATHERING AND ANALYSIS The analyst starts requirement gathering activity by collecting all information that could be useful to develop system. In practice it is very difficult to gather all

More information

Sofware Requirements Engineeing

Sofware Requirements Engineeing Sofware Requirements Engineeing Three main tasks in RE: 1 Elicit find out what the customers really want. Identify stakeholders, their goals and viewpoints. 2 Document write it down (Requirements Specification).

More information

System Analysis and Design. Data Flow Diagram. System Analysis and Design

System Analysis and Design. Data Flow Diagram. System Analysis and Design Data Flow Diagram 1 Data Flow diagram The dataflow diagram is a modeling tool that allows us to picture a system as a network of functional processes, connected to one another by pipelines and holding

More information

CMSC 424 Database design Lecture 2: Design, Modeling, Entity-Relationship. Book: Chap. 1 and 6. Mihai Pop

CMSC 424 Database design Lecture 2: Design, Modeling, Entity-Relationship. Book: Chap. 1 and 6. Mihai Pop CMSC 424 Database design Lecture 2: Design, Modeling, Entity-Relationship Book: Chap. 1 and 6 Mihai Pop Administrative issues TA: Sharath Srinivas TA office hours: Mon 10-11:30, Wed 3-4:30, AVW 1112 Glue

More information

The Object-Oriented Design Process

The Object-Oriented Design Process The Object-Oriented Design Process Part 1: Techniques & Tools OOdesignProcess 1 Program development In theory, 3 phase development process: Analysis: figure out the problem Design: develop the solution

More information

SE 1: Software Requirements Specification and Analysis

SE 1: Software Requirements Specification and Analysis SE 1: Software Requirements Specification and Analysis Lecture 4: Basic Notations Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445 U Waterloo SE1 (Winter 2006)

More information

Requirements Analysis. SE 555 Software Requirements & Specification

Requirements Analysis. SE 555 Software Requirements & Specification Requirements Analysis Goals of Requirements Analysis Create requirements containing sufficient detail and of high enough quality to allow realistic project planning as well as successful design and implementation.

More information

Requirements document for an automated teller machine. network

Requirements document for an automated teller machine. network Requirements document for an automated teller machine network August 5, 1996 Contents 1 Introduction 2 1.1 Purpose : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 1.2 Scope

More information

An Introduction to Business Process Modeling using Data Flow Diagrams

An Introduction to Business Process Modeling using Data Flow Diagrams An Introduction to Business Process Modeling using Data Flow Diagrams BSAD 141 Dave Novak BDIS: 2.2 (61-77) Lecture Overview Systems and Business processes Business process models Data Flow Diagrams (DFDs)

More information

(C) 2010 Pearson Education, Inc. All rights reserved. Dr. Marenglen Biba

(C) 2010 Pearson Education, Inc. All rights reserved. Dr. Marenglen Biba Dr. Marenglen Biba In Chapters 12 13, you design and implement an object-oriented automated teller machine (ATM) software system. Concise, carefully paced, complete design and implementation experience.

More information

UNIT II Requirements Analysis and Specification & Software Design

UNIT II Requirements Analysis and Specification & Software Design UNIT II Requirements Analysis and Specification & Software Design Requirements Analysis and Specification Many projects fail: because they start implementing the system: without determining whether they

More information

Domain Modeling. CSSE 574: Week 1, Part 3. Steve Chenoweth Phone: Office (812) Cell (937)

Domain Modeling. CSSE 574: Week 1, Part 3. Steve Chenoweth Phone: Office (812) Cell (937) Domain Modeling CSSE 574: Week 1, Part 3 Steve Chenoweth Phone: Office (812) 877-8974 Cell (937) 657-3885 Email: chenowet@rose-hulman.edu s g Where we re going Sample UP Artifact Relationships date...

More information

Object-Oriented Design. Module UFC016QM. and Programming. Objects and Classes. O-O Design Unit 2: Faculty of Computing, Engineering

Object-Oriented Design. Module UFC016QM. and Programming. Objects and Classes. O-O Design Unit 2: Faculty of Computing, Engineering Module UFC016QM Object-Oriented Design and Programming O-O Design Unit 2: Objects and Classes Faculty of Computing, Engineering and Mathematical Sciences Schedule Quick recap on Use Case diagrams UWE Flix

More information

Chapter 1: Principles of Programming and Software Engineering

Chapter 1: Principles of Programming and Software Engineering Chapter 1: Principles of Programming and Software Engineering Data Abstraction & Problem Solving with C++ Fifth Edition by Frank M. Carrano Software Engineering and Object-Oriented Design Coding without

More information

Software Engineering Prof.N.L.Sarda IIT Bombay. Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II)

Software Engineering Prof.N.L.Sarda IIT Bombay. Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II) Software Engineering Prof.N.L.Sarda IIT Bombay Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II) We will continue our discussion on process modeling. In the previous lecture

More information

Chapter 4: Data Management

Chapter 4: Data Management Accounting Information Systems: Essential Concepts and Applications Fourth Edition by Wilkinson, Cerullo, Raval, and Wong-On-Wing Chapter 4: Data Management Slides Authored by Somnath Bhattacharya, Ph.D.

More information

Header Description: This use case describes how the ATM user withdraws cash from the ATM.

Header Description: This use case describes how the ATM user withdraws cash from the ATM. Use Case: Withdraw Cash Use Case #: UC1 Author: Iteration: JAD Team Detailed Header Description: This use case describes how the ATM user withdraws cash from the ATM. Business Trigger(s): Customer needs

More information

ATM Use Cases. ID: CIS Title: Check Balance Description: Customer aims to know the balance in his/her account

ATM Use Cases. ID: CIS Title: Check Balance Description: Customer aims to know the balance in his/her account ID: CIS375-01 Title: Login Description: Customer logs into the system by inserting the card and entering pin code. Preconditions: Customer has a bank account and an ATM Card. Postconditions: Customer logged

More information

Design First ITS Instructor Tool

Design First ITS Instructor Tool Design First ITS Instructor Tool The Instructor Tool allows instructors to enter problems into Design First ITS through a process that creates a solution for a textual problem description and allows for

More information

UML Is Not a Methodology

UML Is Not a Methodology UML COSC 4354 1 UML Is Not a Methodology UML is an acronym for Unified Modeling Language UML is a language A language is simply a tool for communication and exchanging ideas UML is a notation, not a methodology

More information

Requirements Elicitation

Requirements Elicitation Requirements Elicitation Introduction into Software Engineering Lecture 4 25. April 2007 Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Outline Motivation: Software Lifecycle

More information

Interaction Design. Task Analysis & Modelling

Interaction Design. Task Analysis & Modelling Interaction Design Task Analysis & Modelling This Lecture Conducting task analysis Constructing task models Understanding the shortcomings of task analysis Task Analysis for Interaction Design Find out

More information

Selection of UML Models for Test Case Generation: A Discussion on Techniques to Generate Test Cases

Selection of UML Models for Test Case Generation: A Discussion on Techniques to Generate Test Cases St. Cloud State University therepository at St. Cloud State Culminating Projects in Computer Science and Information Technology Department of Computer Science and Information Technology 6-2018 Selection

More information

Data. Entities. Accounting Information Systems. Chapter 4: Data Management

Data. Entities. Accounting Information Systems. Chapter 4: Data Management Accounting Information Systems Chapter 4: Data Management Data Data may be defined broadly to include two interrelated components: Data Models that provide structure to data File Orientation Data-base

More information

Scenario-Based Analysis. Scenario-Based Analysis (example) Form analysis

Scenario-Based Analysis. Scenario-Based Analysis (example) Form analysis Scenario-Based Analysis Scenario-Based Analysis (example) Provides a more user-oriented view perspective on the design and development of an interactive system. The defining property of a scenario is that

More information

Structured Analysis and Structured Design

Structured Analysis and Structured Design Structured Analysis and Structured Design - Introduction to SASD - Structured Analysis - Structured Design Ver. 1.5 Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr References Modern

More information

Requirements Engineering. Contents. Functional requirements. What is a requirement?

Requirements Engineering. Contents. Functional requirements. What is a requirement? Contents Ø Introduction 4 Ø Engineering Ø Project Management Ø Software Design Ø Detailed Design and Coding Ø Quality Assurance Engineering Ø What is a Requirement? Ø RE Activities Ø Documentation Ø RE

More information

06. Analysis Modeling

06. Analysis Modeling 06. Analysis Modeling Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 Overview of Analysis Modeling 1 Requirement Analysis 2 Analysis Modeling Approaches

More information

Model-based Transition from Requirements to High-level Software Design

Model-based Transition from Requirements to High-level Software Design Model-based Transition from Requirements to High-level Software Institut für Computertechnik ICT Institute of Computer Technology Hermann Kaindl Vienna University of Technology, ICT Austria System overview

More information

Unified Modeling Language (UML)

Unified Modeling Language (UML) 1.17 Software Engineering Case Study: Introduction to Object Technology and the UML (Required) Object orientation A natural way of thinking about the world and computer programs Unified Modeling Language

More information

XIV. The Requirements Specification Document (RSD)

XIV. The Requirements Specification Document (RSD) XIV. The Requirements Specification Document (RSD) What is a RSD? What to include/not include in a RSD? Attributes of a Well-Written RSD Organization of a RSD Sample Table of Contents An Example 2002 John

More information

Entity Relationship Modelling

Entity Relationship Modelling Entity Relationship Modelling Overview Database Analysis Life Cycle Components of an Entity Relationship Diagram What is a relationship? Entities, attributes, and relationships in a system The degree of

More information

QuickBooks 2010: The Basics

QuickBooks 2010: The Basics QuickBooks 2010: The Basics Student Workbook For QuickBooks Pro and Premier ecourse By Holly Fullingim COMPUTER TRAINING CENTER 3506 S. EXPRESSWAY 77 SUITE A HARLINGEN, TEXAS 78552 (956) 428-7777 QUICKBOOKS

More information

Introduction to Modeling. Lecture Overview

Introduction to Modeling. Lecture Overview Lecture Overview What is a Model? Uses of Modeling The Modeling Process Pose the Question Define the Abstractions Create the Model Analyze the Data Model Representations * Queuing Models * Petri Nets *

More information

Business Process Modeling. Version /10/2017

Business Process Modeling. Version /10/2017 Business Process Modeling Version 1.2.1-16/10/2017 Maurizio Morisio, Marco Torchiano, 2012-2017 3 BP Aspects Process flow Process modeling UML Activity Diagrams BPMN Information Conceptual modeling UML

More information

Lab Manual For Software Engineering

Lab Manual For Software Engineering DATTA MEGHE COLLEGE OF ENGINEERING Department of Information Technology Lab Manual For Software Engineering Semester Jan 2016-April 2016 Page 1 CONTENTS Page No. 1. Objectives SE Lab 4 2. Leaning on the

More information

Software Engineering - I

Software Engineering - I Software Engineering - I An Introduction to Software Construction Techniques for Industrial Strength Software Chapter 3 Requirement Engineering Copy Rights Virtual University of Pakistan 1 Requirement

More information

OBJECT-ORIENTED MODELING AND DESIGN. Domain Analysis

OBJECT-ORIENTED MODELING AND DESIGN. Domain Analysis OBJECT-ORIENTED MODELING AND DESIGN Domain Analysis CONTENTS :. Overview of Analysis 2. Domain Class Model 3. Domain State Model 4. Domain Interaction Model 5. Iterating the Analysis 6. Chapter Summary.

More information

Chapter : Analysis Modeling

Chapter : Analysis Modeling Chapter : Analysis Modeling Requirements Analysis Requirements analysis Specifies software s operational characteristics Indicates software's interface with other system elements Establishes constraints

More information

Ch 4: Requirements Engineering. What are requirements?

Ch 4: Requirements Engineering. What are requirements? Ch 4: Engineering What are? Functional and non-functional The software document specification engineering processes elicitation and analysis validation management The descriptions of what the system should

More information

Chapter 1: Programming Principles

Chapter 1: Programming Principles Chapter 1: Programming Principles Object Oriented Analysis and Design Abstraction and information hiding Object oriented programming principles Unified Modeling Language Software life-cycle models Key

More information

Requirements Engineering: Specification & Validation. Software Requirements and Design CITS 4401 Lecture 18

Requirements Engineering: Specification & Validation. Software Requirements and Design CITS 4401 Lecture 18 Requirements Engineering: Specification & Validation Software Requirements and Design CITS 4401 Lecture 18 The Problems of Requirements What goal(s) are we trying to satisfy? How do we identify the scope

More information

Data about data is database Select correct option: True False Partially True None of the Above

Data about data is database Select correct option: True False Partially True None of the Above Within a table, each primary key value. is a minimal super key is always the first field in each table must be numeric must be unique Foreign Key is A field in a table that matches a key field in another

More information

CPS122 Lecture: Course Intro; Introduction to Object-Orientation

CPS122 Lecture: Course Intro; Introduction to Object-Orientation Objectives: CPS122 Lecture: Course Intro; Introduction to Object-Orientation 1. To introduce the course requirements and procedures. 2. To introduce fundamental concepts of OO: object, class Materials:

More information

Petri Nets ee249 Fall 2000

Petri Nets ee249 Fall 2000 Petri Nets ee249 Fall 2000 Marco Sgroi Most slides borrowed from Luciano Lavagno s lecture ee249 (1998) 1 Models Of Computation for reactive systems Main MOCs: Communicating Finite State Machines Dataflow

More information

Requirements Engineering process

Requirements Engineering process Requirements Engineering process Used to discover, analyze, validate and manage requirements Varies depending on the application domain, the people involved and the organization developing the requirements

More information

Lecture 5 STRUCTURED ANALYSIS. PB007 So(ware Engineering I Faculty of Informa:cs, Masaryk University Fall Bühnová, Sochor, Ráček

Lecture 5 STRUCTURED ANALYSIS. PB007 So(ware Engineering I Faculty of Informa:cs, Masaryk University Fall Bühnová, Sochor, Ráček Lecture 5 STRUCTURED ANALYSIS PB007 So(ware Engineering I Faculty of Informa:cs, Masaryk University Fall 2015 1 Outline ² Yourdon Modern Structured Analysis (YMSA) Context diagram (CD) Data flow diagram

More information

IMS1002/CSE1205 Lectures 1

IMS1002/CSE1205 Lectures 1 IMS1002/CSE1205 Systems Analysis and Design Lecture 2 & 3 Introduction to Data Modelling Entity Relationship Modelling Data Modelling Focus on the information aspects of the organisation In a database

More information

Data Analysis 1. Chapter 2.1 V3.1. Napier University Dr Gordon Russell

Data Analysis 1. Chapter 2.1 V3.1. Napier University Dr Gordon Russell Data Analysis 1 Chapter 2.1 V3.1 Copyright @ Napier University Dr Gordon Russell Entity Relationship Modelling Overview Database Analysis Life Cycle Components of an Entity Relationship Diagram What is

More information

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/17/2015

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/17/2015 Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm Rao Casturi 09/17/2015 http://cs.gsu.edu/~ncasturi1 Requirement Elicitation 2 Requirement Engineering First step for understanding the

More information

Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1

Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1 Failure Rate Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1 SOFTWARE (What is Software? Explain characteristics of Software. OR How the software product is differing than

More information

Business Process Modeling. Version 25/10/2012

Business Process Modeling. Version 25/10/2012 Business Process Modeling Version 25/10/2012 Maurizio Morisio, Marco Torchiano, 2012, 2013 3 BP Aspects Process flow Process modeling UML Activity Diagrams BPMN Information Conceptual modeling UML Class

More information

ASSIGNMENT- I Topic: Functional Modeling, System Design, Object Design. Submitted by, Roll Numbers:-49-70

ASSIGNMENT- I Topic: Functional Modeling, System Design, Object Design. Submitted by, Roll Numbers:-49-70 ASSIGNMENT- I Topic: Functional Modeling, System Design, Object Design Submitted by, Roll Numbers:-49-70 Functional Models The functional model specifies the results of a computation without specifying

More information

Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD

Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD Domain analysis Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD OOA concerned with what, not how OOA activities focus on the domain layer

More information

Recommended Practice for Software Requirements Specifications (IEEE)

Recommended Practice for Software Requirements Specifications (IEEE) Recommended Practice for Software Requirements Specifications (IEEE) Author: John Doe Revision: 29/Dec/11 Abstract: The content and qualities of a good software requirements specification (SRS) are described

More information

Requirements Analysis. Requirement analysis. Requirements analysis 3/11/14. Advanced Programming

Requirements Analysis. Requirement analysis. Requirements analysis 3/11/14. Advanced Programming Requirements Analysis Advanced Programming 11 March 2014 Barbara Russo 11 Requirement analysis Understanding which services are required from the system and identifying the constraints on the system s

More information

CTIS 359 Principles of Software Engineering SOFTWARE DESIGN OO(A)D

CTIS 359 Principles of Software Engineering SOFTWARE DESIGN OO(A)D CTIS 359 Principles of Software Engineering SOFTWARE DESIGN OO(A)D Today s Objectives To explain the basic concepts of OO(A)D To describe some best practices regarding to OO(A)D What is NOT UML? The UML

More information

Restricted Use Case Modeling Approach

Restricted Use Case Modeling Approach RUCM TAO YUE tao@simula.no Simula Research Laboratory Restricted Use Case Modeling Approach User Manual April 2010 Preface Use case modeling is commonly applied to document requirements. Restricted Use

More information

Tutorial notes on. Requirements analysis

Tutorial notes on. Requirements analysis Tutorial notes on Requirements analysis Dr. C. Constantinides, P.Eng. Computer Science and Software Engineering Concordia University Page 1 of 12 Exercise 1. Consider an email client software. The client

More information

Characterizing your Objects

Characterizing your Objects Characterizing your Objects Reprinted from the Feb 1992 issue of The Smalltalk Report Vol. 2, No. 5 By: Rebecca J. Wirfs-Brock In this column I ll describe some vocabulary I find useful to characterize

More information

Business Process Modelling

Business Process Modelling CS565 - Business Process & Workflow Management Systems Business Process Modelling CS 565 - Lecture 2 20/2/17 1 Business Process Lifecycle Enactment: Operation Monitoring Maintenance Evaluation: Process

More information

Fundamentals: Software Engineering. Objectives. Last lectures. Unit 2: Light Introduction to Requirements Engineering

Fundamentals: Software Engineering. Objectives. Last lectures. Unit 2: Light Introduction to Requirements Engineering Fundamentals: Software Engineering Dr. Rami Bahsoon School of Computer Science University of Birmingham r.bahsoon@cs.bham.ac.uk Unit 2: Light Introduction to Requirements Engineering Dr R Bahsoon 1 Objectives

More information

Input: Implementing Interaction Techniques as Finite State Machines

Input: Implementing Interaction Techniques as Finite State Machines Input: Implementing Interaction Techniques as Finite State Machines Administration HW4a due today HW5 set today 2 Interaction Techniques A method for carrying out a specific interactive task Example: enter

More information

VISHNU INSTITUTE OF TECHNOLOGY Vishnupur, BHIMAVARAM

VISHNU INSTITUTE OF TECHNOLOGY Vishnupur, BHIMAVARAM VISHNU INSTITUTE OF TECHNOLOGY Vishnupur, BHIMAVARAM 534 202 LABORATORY MANUAL IV B.Tech I Sem CSE Unified Modeling Language & Design Patterns Lab DEPARTMENT OF CSE OUR MISSION LEARN TO EXCEL Regd.No

More information

Business Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3)

Business Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3) Business Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3) COURSE STRUCTURE Introduction to Business Analysis Module 1 Needs Assessment Module 2 Business Analysis Planning Module

More information

Object-Oriented Static Modeling of the Banking System - I. Lecture # 31

Object-Oriented Static Modeling of the Banking System - I. Lecture # 31 Object-Oriented Static Modeling of the Banking System - I Lecture # 31 1 Steps in Object-Oriented Analysis Identify classes within the problem domain Define the attributes and methods of these classes

More information

0. Database Systems 1.1 Introduction to DBMS Information is one of the most valuable resources in this information age! How do we effectively and efficiently manage this information? - How does Wal-Mart

More information

CH 13 APPLICATION ANALYSIS

CH 13 APPLICATION ANALYSIS CH 13 APPLICATION ANALYSIS APPLICATION INTERACTION MODEL Steps: Determine system boundary Find actors Find use case Find initial & final events Prepare a normal scenario Add exception scenario Prepare

More information

MSO Lecture 3. Wouter Swierstra. September 14, 2015

MSO Lecture 3. Wouter Swierstra. September 14, 2015 1 MSO Lecture 3 Wouter Swierstra September 14, 2015 2 Haven t found a lab partner yet? Come talk to me in the break. 3 LAST LECTURE How can I manage the process of constructing complex software? How do

More information

Lecture 5: Requirements Specifications

Lecture 5: Requirements Specifications Lecture 5: Requirements Specifications Why we need to write specifications Purpose and audience Choosing an appropriate size and formality Desiderata for Specifications Properties of good specifications

More information

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802 UNIT-II Lecture Notes On UML IMPORTANCE OF MODELING, BRIEF OVERVIEW OF OBJECT MODELING TECHNOLOGY (OMT) BY RAMBAUGH, BOOCH METHODOLOGY, USE CASE DRIVE APPROACH (OOSE) BY JACKOBSON. KHALID AMIN AKHOON 1

More information

CS504-Softwere Engineering -1 Solved Subjective Midterm Papers For Preparation of Midterm Exam

CS504-Softwere Engineering -1 Solved Subjective Midterm Papers For Preparation of Midterm Exam CS504-Softwere Engineering -1 Solved Subjective Midterm Papers For Preparation of Midterm Exam CS504 Subjective Midterm Examination 2011 Question No: 1 ( Marks: 3 ) Define Asynchronous Messages and Synchronous

More information

Progress Report. Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) Object-oriented software development

Progress Report. Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) Object-oriented software development Progress Report Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) CS 4354 Summer II 2014 Jill Seaman So far we have learned about the tools used in object-oriented

More information

Requirements Engineering Process

Requirements Engineering Process Requirements Engineering Process Requirement A description of a service that the system is expected to provide and the constraints under which it must operate. 1 Requirement Types Functional Requirement

More information

System Analysis & design

System Analysis & design Assiut University Faculty of Computers and Information System Analysis & design Year 2 Academic Year 2014/ 2015 Term (2) 5 A PICTURE IS WORTH A 1,000 WORDS A process model is a graphical way of representing

More information

By: Chaitanya Settaluri Devendra Kalia

By: Chaitanya Settaluri Devendra Kalia By: Chaitanya Settaluri Devendra Kalia What is an embedded system? An embedded system Uses a controller to perform some function Is not perceived as a computer Software is used for features and flexibility

More information

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee Chapter 4 Capturing the Requirements Shari L. Pfleeger Joanne M. Atlee 4th Edition It is important to have standard notations for modeling, documenting, and communicating decisions Modeling helps us to

More information

CS425 Fall 2016 Boris Glavic Chapter 1: Introduction

CS425 Fall 2016 Boris Glavic Chapter 1: Introduction CS425 Fall 2016 Boris Glavic Chapter 1: Introduction Modified from: Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Textbook: Chapter 1 1.2 Database Management System (DBMS)

More information

Orchestration vs Choreography

Orchestration vs Choreography Orchestration vs Choreography u In many cases, there is no unique point of invocation for the services n In these cases, we say that the system is a choreography n Let starts with an example: w Consider

More information

Natural Language Specification

Natural Language Specification REQUIREMENTS ENGINEERING LECTURE 2017/2018 Dr. Jörg Dörr Natural Language Specification Most Requirements are Described in Natural Language Free Text (Prose) In Word In Excel (Tabular) In RM-Tools In Sys-ML

More information

Chapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design

Chapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design Chapter 6 Architectural Design Lecture 1 1 Topics covered ² Architectural design decisions ² Architectural views ² Architectural patterns ² Application architectures 2 Software architecture ² The design

More information

Introduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation

Introduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation Introduction to Electronic Design Automation Model of Computation Jie-Hong Roland Jiang 江介宏 Department of Electrical Engineering National Taiwan University Spring 03 Model of Computation In system design,

More information

Recall from previous lecture

Recall from previous lecture Recall from previous lecture Understanding customer requirements is critical to success of any software development effort Major process tasks: Requirements elicitation/analysis Drafting a requirements

More information

Lesson 06. Requirement Engineering Processes

Lesson 06. Requirement Engineering Processes Lesson 06 Requirement Engineering Processes W.C.Uduwela Department of Mathematics and Computer Science Objectives To describe the principal requirements engineering activities and their relationships To

More information

Validation of UML Models for Interactive Systems with CPN and SPIN. Parne Balu Laxman

Validation of UML Models for Interactive Systems with CPN and SPIN. Parne Balu Laxman Validation of UML Models for Interactive Systems with CPN and SPIN Parne Balu Laxman Department of Computer Science and Engineering National Institute of Technology Rourkela Rourkela-769 008, Odisha, India

More information

PROGRAM SPECIFICATION INTRODUCTION

PROGRAM SPECIFICATION INTRODUCTION INTRODUCTION We start from: requirements specifications (made by the client) project plan financial feasibility study The comprehension of the requirements is essential Basically it is an analysis task

More information

Web Merchant User Manual

Web Merchant User Manual Web Merchant User Manual Updated 03-10-10 MCAP 9.9.1 Table of Contents Table of Contents... 2 Web Merchant Remote Deposit First Time Install & Use... 4 Making Deposits... 5 Step 1 Capture Good Quality

More information

Lecture 6: Requirements Engineering

Lecture 6: Requirements Engineering Lecture 6: Requirements Engineering Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte

More information

Requirements Gathering

Requirements Gathering Introduction to Requirements Gathering Prepared for: St. Edwards University Analysis, Modeling and Design MCIS6310 Dr. David Franke 6 June 2006 Copyright 2005-2006 Tyner Blain LLC 1 Outline 1. Overview

More information

CS112 Lecture: Defining Classes. 1. To describe the process of defining an instantiable class

CS112 Lecture: Defining Classes. 1. To describe the process of defining an instantiable class CS112 Lecture: Defining Classes Last revised 2/3/06 Objectives: 1. To describe the process of defining an instantiable class Materials: 1. BlueJ SavingsAccount example project 2. Handout of code for SavingsAccount

More information

Software Life-Cycle Models

Software Life-Cycle Models Software Life-Cycle Models CMPSC 487 Lecture 03 Topics: UML Class Diagram Rosenburg Chap 2. Domain Modeling A. UML: Unified Modeling Language UML is a general-purpose, developmental, modeling language

More information

Requirements Engineering

Requirements Engineering Chapter 3: Requirements Modeling Requirements Engineering Objectives In this chapter, you will learn about: Functional requirements Modeling requirements Overview of basic modeling paradigms Gus Requirements

More information

CTL.SC4x Technology and Systems

CTL.SC4x Technology and Systems in Supply Chain Management CTL.SC4x Technology and Systems Key Concepts Document This document contains the Key Concepts for the SC4x course, Weeks 1 and 2. These are meant to complement, not replace,

More information

Chapter 5, Analysis: Dynamic Modeling

Chapter 5, Analysis: Dynamic Modeling Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 5, Analysis: Dynamic Modeling ü Requirements Elicitation (Ch.4) ü Introduction (Ch 1-3) OOSE- Galaxy ü Nonfunctional Requirements

More information

Security We keep your security a priority

Security We keep your security a priority Welcome Welcome to Berkshire Bank s Business Solutions. With Business Solutions, you may access your accounts 24 hours a day, seven days a week anywhere an internet connection is available. This guide

More information

Isi Net User Manual for Bank customers

Isi Net User Manual for Bank customers 1 Table of Contents 1 Introduction and overview... 4 1.1 Isi Net User Types... 4 1.2 Accessing the Isi Net service... 5 1.2.1 User Login... 5 1.2.2 User Logout... 7 1.3 User Interface... 7 1.3.1 Menus...

More information

Data! CS 133: Databases. Goals for Today. So, what is a database? What is a database anyway? From the textbook:

Data! CS 133: Databases. Goals for Today. So, what is a database? What is a database anyway? From the textbook: CS 133: Databases Fall 2018 Lec 01 09/04 Introduction & Relational Model Data! Need systems to Data is everywhere Banking, airline reservations manage the data Social media, clicking anything on the internet

More information