Software Engineering Lecture 10: System Engineering.

Slides:



Advertisements
Similar presentations
Requirements Engineering Process
Advertisements

Mahmut Ali GÖKÇEIndustrial Systems Engineering Lecture 2 System Identification ISE102 Spring 2007.
S Y S T E M S E N G I N E E R I N G.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chapter 7 Requirements Engineering
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Requirements Analysis Concepts & Principles
Business Area Analysis Focus: Domain View (selected business area) Goals: –Isolate functions and procedures that allow the area to meet its goals –Define.
Nov. 14, 2007 Systems Engineering ä System ä A set or arrangement of things so related as to form a unity or organic whole. ä A set of facts, principles,
Introduction to Software Engineering Dr. Basem Alkazemi
Analysis Concepts and Principle.
Purpose of Requirements Analysis Process of discover, refinement, modeling, and specification o Bridge gap between system level SW allocation and design.
Requirements Specifications Today: Homework #1 due For next class: Pressman 11; SRD Team Status Reports Requirements Process (continued) Bio Break ( 5.
SE 555 – Software Requirements & Specifications Introduction
1 Objective of today’s lesson S oftware engineering occurs as a consequence of a process called system engineering. Instead of concentrating solely on.
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
System Engineering Instructor: Dr. Jerry Gao. System Engineering Jerry Gao, Ph.D. Jan System Engineering Hierarchy - System Modeling - Information.
1 Lecture 3 Requirement Analysis System Analysis Concepts Modeling Techniques.
S R S S ystem R equirements S pecification Specifying the Specifications.
CIS 375 Bruce R. Maxim UM-Dearborn
1 College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 2 Chapter 6 & 7 System.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes 1.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 7 Requirements Engineering Software Engineering: A Practitioner’s Approach, 6/e Chapter.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chapter 4 Requirements Engineering
Understanding Requirements. Requirements Engineering
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 Chapter 6 System Engineering. 2 System Engineering What is a computer-based system? A set or arrangement of elements that are organized to accomplish.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
Requirements Engineering How do we keep straight what we are supposed to be building?
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Requirements Engineering CSE-305 Requirements Engineering Process Tasks Lecture-5.
Standard SRS Copyright, 2001 © Jerzy R. Nawrocki Requirements Engineering Lecture.
Software Requirements Engineering CSE 305 Lecture-2.
Software Engineering Lecture No:13. Lecture # 7
3231 Software Engineering By Germaine Cheung Hong Kong Computer Institute Lecture 1.
Software Engineering Saeed Akhtar The University of Lahore Lecture 7 Originally shared for: mashhoood.webs.com.
Lecture 7: Requirements Engineering
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 6 System Engineering Overview of System Engineering.
1 Chapter 5 Lecture 5: Understanding Requirements Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman Slides.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
By Germaine Cheung Hong Kong Computer Institute
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Requirements Engineering Requirements Elicitation Overview of Requirements Analysis.
Smart Home Technologies
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Requirement Engineering
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
1 Chapter 10 System Engineering. 2 Computer-Based System  A computer-based system is a set or arrangement of elements that are organized to accomplish.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
 System Requirement Specification and System Planning.
Chapter 2 Bring systems into being April Aims of this Lecture To explain what is “System Life-Cycle” To understand the systems engineering process.
Requirements Engineering Process
Requirements Elicitation – 1
System Requirements Specification
Software Requirements analysis & specifications
Chapter 6 System Engineering
Overview of System Engineering
CS 8532: Advanced Software Engineering
Chapter 7 Requirements Engineering
Chapter 7 Requirements Engineering
Requirements Engineering Tasks
Requirements Engineering Lecture 6
Presentation transcript:

Software Engineering Lecture 10: System Engineering

Today’s Topics l System Engineering Concepts l Business Process Engineering l Product Engineering l Requirements Elicitation, Analysis & Specification l System Modeling

System Engineering l Precedes software engineering l “Put software into context” Work flow & other human activities Business model l Business Process Engineering Focus on a business enterprise l Product Engineering Focus on a product to be built

What is a “System”? l Types of systems: political, educational, avionics, banking, manufacturing, … l Computer-based system: “A set of elements that are organized to accomplish some predefined goal by processing information” l Goals: Support a business function, develop a product, etc.

System Elements l Software l Hardware l People l Database l Documentation l Procedures These elements combine in a variety of ways to transform information

System Hierarchy l Each computer-based system can be part of a larger system l System Engineering Hierarchy Organize the systems into a set of layered views (Figure 10.1) Define the elements for a specific computer-based system in the context of the overall hierarchy of systems

System Engineering Hierarchy Software Engineering Information Strategy Planning Business Area Analysis [From SEPA 5/e]

System Modeling l System engineering is a modeling process l For each view: Define processes Represent process behavior List process assumptions Define external and internal inputs Model linkages (control, data, I/O)

System Modeling [2] l Assumptions range of allowable data l Simplifications partition data into categories l Limitations bounds on functionality l Constraints guide the implementation l Preferences indicate preferred architecture (data, functions, technology) Much of this information is derived from customer requirements

Business Process Engineering l Data Architecture Framework for the data objects used by the business (+ relationships) l Applications Architecture Elements which transform data objects for a business purpose l Technology Infrastructure Foundation for data & applications architectures

BPE Hierarchy [From SEPA 5/e]

Information Strategy Planning l Focus: World View (entire business) l Goals: Isolate domains of the business (engineering, marketing, sales, …) Define data objects visible at the enterprise level (+ relationships & data flow)

Business Area Analysis l Focus: Domain View (selected business area) l Goals: Isolate functions and procedures that allow the area to meet its goals Define data objects visible at the business area level (+ relationships & data flow) Identify information support systems

Business System Design l Focus: Element View (specific information system in a business area) l Goals: Model the requirements Design: Data Architecture Applications Architecture Technology Infrastructure

Construction & Integration l Focus: Detailed View (implementation of an element) l Goals: Implement the architectures and infrastructure Insert the completed system into the business area (training, logistics, …)

Product Engineering Hierarchy [From SEPA 5/e]

Requirements Engineering l Elicitation l Analysis & Negotiation l Specification l Modeling l Validation l Management How can we specify a system that meets the customer’s needs and expectations?

Requirements Elicitation l Challenges Scope: Defining the system boundary Lack of clarity on overall objectives Understanding: Customer not skilled Doesn’t state the obvious Requirements ambiguous, conflicting, … Volatility: Requirements change over time

Elicitation [2] l Assess feasibility l Identify people & their role(s) l Define technical environment l Identify domain constraints l Select elicitation method(s) l Solicit participation from several perspectives l Identify ambiguous requirements l Create usage scenarios

Analysis & Negotiation l Is each requirement: Consistent with overall objective? Sufficiently abstract? Essential to overall objective? Bounded and unambiguous? Attributed to a source? (person) Conflicting with other requirements? Achievable in technical environment? Testable, once implemented?

Requirements Specification l Elements of a Specification: Written documents Graphical models Formal mathematical models l Final work product: System Specification

System Modeling l Evaluate the system’s components in relation to one another l Link requirements to system components l Validate assumptions about data flow, work flow, input / output,...

Requirements Validation l Is each requirement: Stated clearly? Verified by an identified source? Bounded in a quantitative way? Associated with other requirements? Consistent with domain constraints? Testable, with specified tests? Traceable to the system model? Traceable to overall objectives?

Requirements Management l Identify, control, and track: New requirements Changes to requirements l Active throughout the life-cycle l Traceability Table Relates requirements to features, source, dependency, subsystem, interface, etc.

Generic Traceability Table [From SEPA 5/e]

System Modeling Techniques l System Model Template (Hatley & Pirbhai, 1987) Allocate system elements to 5 processing regions: user interface input system function and control output maintenance & self-test

System Model Template [From SEPA 5/e]

Modeling Techniques [2] l System Context Diagram (SCD) Establish the information boundary between the system & the operating environment External producers & consumers of information Entities that communicate through the interface / testing capability

System Context Diagram [From SEPA 5/e]

Modeling Techniques [2] l System Flow Diagram Identify major subsystems Identify data & control flow Each subsystem can also be decomposed into an SFD Final product: a hierarchy of SFDs

System Flow Diagram [From SEPA 5/e]

SFD Hierarchy [From SEPA 5/e]

Questions?

Software Engineering for Information Technology Lecture 10: System Engineering

Today’s Topics l System Engineering Concepts l Business Process Engineering l Product Engineering l Requirements Elicitation, Analysis & Specification l System Modeling

System Engineering l Precedes software engineering l “Put software into context” Work flow & other human activities Business model l Business Process Engineering Focus on a business enterprise l Product Engineering Focus on a product to be built

What is a “System”? l Types of systems: political, educational, avionics, banking, manufacturing, … l Computer-based system: “A set of elements that are organized to accomplish some predefined goal by processing information” l Goals: Support a business function, develop a product, etc.

System Elements l Software l Hardware l People l Database l Documentation l Procedures These elements combine in a variety of ways to transform information

System Hierarchy l Each computer-based system can be part of a larger system l System Engineering Hierarchy Organize the systems into a set of layered views (Figure 10.1) Define the elements for a specific computer-based system in the context of the overall hierarchy of systems

System Engineering Hierarchy Software Engineering Information Strategy Planning Business Area Analysis [From SEPA 5/e]

System Modeling l System engineering is a modeling process l For each view: Define processes Represent process behavior List process assumptions Define external and internal inputs Model linkages (control, data, I/O)

System Modeling [2] l Assumptions range of allowable data l Simplifications partition data into categories l Limitations bounds on functionality l Constraints guide the implementation l Preferences indicate preferred architecture (data, functions, technology) Much of this information is derived from customer requirements

Business Process Engineering l Data Architecture Framework for the data objects used by the business (+ relationships) l Applications Architecture Elements which transform data objects for a business purpose l Technology Infrastructure Foundation for data & applications architectures

BPE Hierarchy [From SEPA 5/e]

Information Strategy Planning l Focus: World View (entire business) l Goals: Isolate domains of the business (engineering, marketing, sales, …) Define data objects visible at the enterprise level (+ relationships & data flow)

Business Area Analysis l Focus: Domain View (selected business area) l Goals: Isolate functions and procedures that allow the area to meet its goals Define data objects visible at the business area level (+ relationships & data flow) Identify information support systems

Business System Design l Focus: Element View (specific information system in a business area) l Goals: Model the requirements Design: Data Architecture Applications Architecture Technology Infrastructure

Construction & Integration l Focus: Detailed View (implementation of an element) l Goals: Implement the architectures and infrastructure Insert the completed system into the business area (training, logistics, …)

Product Engineering Hierarchy [From SEPA 5/e]

Requirements Engineering l Elicitation l Analysis & Negotiation l Specification l Modeling l Validation l Management How can we specify a system that meets the customer’s needs and expectations?

Requirements Elicitation l Challenges Scope: Defining the system boundary Lack of clarity on overall objectives Understanding: Customer not skilled Doesn’t state the obvious Requirements ambiguous, conflicting, … Volatility: Requirements change over time

Elicitation [2] l Assess feasibility l Identify people & their role(s) l Define technical environment l Identify domain constraints l Select elicitation method(s) l Solicit participation from several perspectives l Identify ambiguous requirements l Create usage scenarios

Analysis & Negotiation l Is each requirement: Consistent with overall objective? Sufficiently abstract? Essential to overall objective? Bounded and unambiguous? Attributed to a source? (person) Conflicting with other requirements? Achievable in technical environment? Testable, once implemented?

Requirements Specification l Elements of a Specification: Written documents Graphical models Formal mathematical models l Final work product: System Specification

System Modeling l Evaluate the system’s components in relation to one another l Link requirements to system components l Validate assumptions about data flow, work flow, input / output,...

Requirements Validation l Is each requirement: Stated clearly? Verified by an identified source? Bounded in a quantitative way? Associated with other requirements? Consistent with domain constraints? Testable, with specified tests? Traceable to the system model? Traceable to overall objectives?

Requirements Management l Identify, control, and track: New requirements Changes to requirements l Active throughout the life-cycle l Traceability Table Relates requirements to features, source, dependency, subsystem, interface, etc.

Generic Traceability Table [From SEPA 5/e]

System Modeling Techniques l System Model Template (Hatley & Pirbhai, 1987) Allocate system elements to 5 processing regions: user interface input system function and control output maintenance & self-test

System Model Template [From SEPA 5/e]

Modeling Techniques [2] l System Context Diagram (SCD) Establish the information boundary between the system & the operating environment External producers & consumers of information Entities that communicate through the interface / testing capability

System Context Diagram [From SEPA 5/e]

Modeling Techniques [2] l System Flow Diagram Identify major subsystems Identify data & control flow Each subsystem can also be decomposed into an SFD Final product: a hierarchy of SFDs

System Flow Diagram [From SEPA 5/e]

SFD Hierarchy [From SEPA 5/e]

Questions?

Software Engineering for Information Technology Lecture 10: System Engineering

Today’s Topics l System Engineering Concepts l Business Process Engineering l Product Engineering l Requirements Elicitation, Analysis & Specification l System Modeling

System Engineering l Precedes software engineering l “Put software into context” Work flow & other human activities Business model l Business Process Engineering Focus on a business enterprise l Product Engineering Focus on a product to be built

What is a “System”? l Types of systems: political, educational, avionics, banking, manufacturing, … l Computer-based system: “A set of elements that are organized to accomplish some predefined goal by processing information” l Goals: Support a business function, develop a product, etc.

System Elements l Software l Hardware l People l Database l Documentation l Procedures These elements combine in a variety of ways to transform information

System Hierarchy l Each computer-based system can be part of a larger system l System Engineering Hierarchy Organize the systems into a set of layered views (Figure 10.1) Define the elements for a specific computer-based system in the context of the overall hierarchy of systems

System Engineering Hierarchy Software Engineering Information Strategy Planning Business Area Analysis [From SEPA 5/e]

System Modeling l System engineering is a modeling process l For each view: Define processes Represent process behavior List process assumptions Define external and internal inputs Model linkages (control, data, I/O)

System Modeling [2] l Assumptions range of allowable data l Simplifications partition data into categories l Limitations bounds on functionality l Constraints guide the implementation l Preferences indicate preferred architecture (data, functions, technology) Much of this information is derived from customer requirements

Business Process Engineering l Data Architecture Framework for the data objects used by the business (+ relationships) l Applications Architecture Elements which transform data objects for a business purpose l Technology Infrastructure Foundation for data & applications architectures

BPE Hierarchy [From SEPA 5/e]

Information Strategy Planning l Focus: World View (entire business) l Goals: Isolate domains of the business (engineering, marketing, sales, …) Define data objects visible at the enterprise level (+ relationships & data flow)

Business Area Analysis l Focus: Domain View (selected business area) l Goals: Isolate functions and procedures that allow the area to meet its goals Define data objects visible at the business area level (+ relationships & data flow) Identify information support systems

Business System Design l Focus: Element View (specific information system in a business area) l Goals: Model the requirements Design: Data Architecture Applications Architecture Technology Infrastructure

Construction & Integration l Focus: Detailed View (implementation of an element) l Goals: Implement the architectures and infrastructure Insert the completed system into the business area (training, logistics, …)

Product Engineering Hierarchy [From SEPA 5/e]

Requirements Engineering l Elicitation l Analysis & Negotiation l Specification l Modeling l Validation l Management How can we specify a system that meets the customer’s needs and expectations?

Requirements Elicitation l Challenges Scope: Defining the system boundary Lack of clarity on overall objectives Understanding: Customer not skilled Doesn’t state the obvious Requirements ambiguous, conflicting, … Volatility: Requirements change over time

Elicitation [2] l Assess feasibility l Identify people & their role(s) l Define technical environment l Identify domain constraints l Select elicitation method(s) l Solicit participation from several perspectives l Identify ambiguous requirements l Create usage scenarios

Analysis & Negotiation l Is each requirement: Consistent with overall objective? Sufficiently abstract? Essential to overall objective? Bounded and unambiguous? Attributed to a source? (person) Conflicting with other requirements? Achievable in technical environment? Testable, once implemented?

Requirements Specification l Elements of a Specification: Written documents Graphical models Formal mathematical models l Final work product: System Specification

System Modeling l Evaluate the system’s components in relation to one another l Link requirements to system components l Validate assumptions about data flow, work flow, input / output,...

Requirements Validation l Is each requirement: Stated clearly? Verified by an identified source? Bounded in a quantitative way? Associated with other requirements? Consistent with domain constraints? Testable, with specified tests? Traceable to the system model? Traceable to overall objectives?

Requirements Management l Identify, control, and track: New requirements Changes to requirements l Active throughout the life-cycle l Traceability Table Relates requirements to features, source, dependency, subsystem, interface, etc.

Generic Traceability Table [From SEPA 5/e]

System Modeling Techniques l System Model Template (Hatley & Pirbhai, 1987) Allocate system elements to 5 processing regions: user interface input system function and control output maintenance & self-test

System Model Template [From SEPA 5/e]

Modeling Techniques [2] l System Context Diagram (SCD) Establish the information boundary between the system & the operating environment External producers & consumers of information Entities that communicate through the interface / testing capability

System Context Diagram [From SEPA 5/e]

Modeling Techniques [2] l System Flow Diagram Identify major subsystems Identify data & control flow Each subsystem can also be decomposed into an SFD Final product: a hierarchy of SFDs

System Flow Diagram [From SEPA 5/e]

SFD Hierarchy [From SEPA 5/e]

Questions?