CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae
|
|
- Dominic Spencer
- 5 years ago
- Views:
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 Specification A broad term that means definition Used at different stages of software development for
More informationRequirement 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 informationAdministrivia. 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 informationDarshan 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 informationSofware 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 informationSystem 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 informationCMSC 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 informationThe 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 informationSE 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 informationRequirements 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 informationRequirements 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 informationAn 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
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 informationUNIT 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 informationDomain 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 informationObject-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 informationChapter 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 informationSoftware 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 informationChapter 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 informationHeader 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 informationATM 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 informationDesign 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 informationUML 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 informationRequirements 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 informationInteraction 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 informationSelection 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 informationData. 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 informationScenario-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 informationStructured 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 informationRequirements 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 information06. 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 informationModel-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 informationUnified 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 informationXIV. 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 informationEntity 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 informationQuickBooks 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 informationIntroduction 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 informationBusiness 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 informationLab 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 informationSoftware 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 informationOBJECT-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 informationChapter : 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 informationCh 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 informationChapter 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 informationRequirements 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 informationData 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 informationCPS122 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 informationPetri 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 informationRequirements 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 informationLecture 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 informationIMS1002/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 informationData 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 informationSoftware 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 informationDarshan 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 informationBusiness 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 informationASSIGNMENT- 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 informationGoal: 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 informationRecommended 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 informationRequirements 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 informationCTIS 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 informationRestricted 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 informationTutorial 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 informationCharacterizing 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 informationBusiness 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 informationFundamentals: 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 informationInput: 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 informationVISHNU 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 informationBusiness 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 informationObject-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 information0. 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 informationCH 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 informationMSO 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 informationLecture 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 informationLecture 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 informationCS504-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 informationProgress 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 informationRequirements 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 informationSystem 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 informationBy: 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 informationChapter 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 informationCS425 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 informationOrchestration 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 informationNatural 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 informationChapter 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 informationIntroduction 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 informationRecall 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 informationLesson 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 informationValidation 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 informationPROGRAM 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 informationWeb 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 informationLecture 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 informationRequirements 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 informationCS112 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 informationSoftware 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 informationRequirements 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 informationCTL.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 informationChapter 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 informationSecurity 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 informationIsi 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 informationData! 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