E N D
Objective of today’s lesson Software engineering occurs as a consequence of a process called system engineering. Instead of concentrating solely on software, system engineering focuses on a variety of elements, analyzing, designing, and organizing those elements into a system that can be a product, a service, or a technology for the transformation of information or control. The system engineering process is called business process engineering when the context of the engineering work focuses on a business enterprise. When a product (in this context, a product includes everything from a wireless telephone to an air traffic control system) is to be built, the process is called product engineering.
Today’s Topics System Engineering Concepts Business Process Engineering Product Engineering Requirements Elicitation, Analysis & Specification System Modeling
System Engineering • Precedes software engineering • “Put software into context” • Work flow & other human activities • Business model • Business Process Engineering • Focus on a business enterprise • Product Engineering • Focus on a product to be built
What is a “System”? • Types of systems: • political, educational, avionics, banking, manufacturing, … • Computer-based system:“A set of elements that are organized to accomplish some predefined goal by processing information” • Goals: Support a business function, develop a product, etc.
System Elements • Software • Hardware • People • Database • Documentation • Procedures These elements combine in a varietyof ways to transform information
System Hierarchy • Each computer-based system can be part of a larger system • System Engineering Hierarchy • Organize the systems into a set of layered views (Figure 5.1) • Define the elements for a specific computer-based system in the context of the overall hierarchy of systems
InformationStrategy Planning System Engineering Hierarchy Business AreaAnalysis SoftwareEngineering
System Modeling • System engineering is a modeling process • 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] • Assumptions • range of allowable data • Simplifications • partition data into categories • Limitations • bounds on functionality • Constraints • guide the implementation • Preferences • indicate preferred architecture (data, functions, technology) Much of this information is derived from customer requirements
Business Process Engineering Three different architectures must be analyzed and designed within the context of business objectives and goals • Data Architecture • Framework for the data objects used by the business (+ relationships) • Applications Architecture • Elements which transform data objects for a business purpose • Technology Infrastructure • Foundation for data & applications architectures
Information Strategy Planning • Focus: World View (entire business) • Goals: • Isolate domains of the business(engineering, marketing, sales, …) • Define data objects visible at the enterprise level (+ relationships & data flow)