Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 System Engineering. 2  Elements of a computer-based system 1.Software 2.Hardware 3.People 4.Database 5.Documentation 6.Procedures  Elements of a computer-based.

Similar presentations


Presentation on theme: "1 System Engineering. 2  Elements of a computer-based system 1.Software 2.Hardware 3.People 4.Database 5.Documentation 6.Procedures  Elements of a computer-based."— Presentation transcript:

1 1 System Engineering

2 2  Elements of a computer-based system 1.Software 2.Hardware 3.People 4.Database 5.Documentation 6.Procedures  Elements of a computer-based system 1.Software 2.Hardware 3.People 4.Database 5.Documentation 6.Procedures

3 3 The Hierarchy

4 4 System Modeling  define the processes of the view under consideration.  represent the behavior of the processes and the assumptions on which the behavior is based.  explicitly define both intra-level and inter-level input to the model.  represent all linkages that will enable the engineer to better understand the view.  define the processes of the view under consideration.  represent the behavior of the processes and the assumptions on which the behavior is based.  explicitly define both intra-level and inter-level input to the model.  represent all linkages that will enable the engineer to better understand the view.

5 Factors to Consider when Constructing a Model  Assumptions  These reduce the number of possible variations, thus enabling a model to reflect the problem in a reasonable manner  Simplifications  These enable the model to be created in a timely manner  Limitations  These help to bound the maximum and minimum values of the system  Constraints  These guide the manner in which the model is created and the approach taken when the model is implemented  Preferences  These indicate the preferred solution for all data, functions, and behavior  They are driven by customer requirements  Assumptions  These reduce the number of possible variations, thus enabling a model to reflect the problem in a reasonable manner  Simplifications  These enable the model to be created in a timely manner  Limitations  These help to bound the maximum and minimum values of the system  Constraints  These guide the manner in which the model is created and the approach taken when the model is implemented  Preferences  These indicate the preferred solution for all data, functions, and behavior  They are driven by customer requirements 5

6 System Simulation  Needed for systems with high degree of reliability.  To test drive a specification of system.  Needed for systems with high degree of reliability.  To test drive a specification of system. 6

7 7 Business Process Engineering o uses an integrated set of procedures, methods, and tools to identify how information systems can best meet the strategic goals of an enterprise o focuses first on the enterprise and then on the business area o creates enterprise models, data models and process models o creates a framework for better information management distribution, and control

8 8 System Architectures  Three different architectures must be analyzed and designed within the context of business objectives and goals:  data architecture  applications architecture  technology infrastructure  data architecture provides a framework for the information needs of a business or business function  application architecture encompasses those elements of a system that transform objects within the data architecture for some business purpose  technology infrastructure provides the foundation for the data and application architectures  Three different architectures must be analyzed and designed within the context of business objectives and goals:  data architecture  applications architecture  technology infrastructure  data architecture provides a framework for the information needs of a business or business function  application architecture encompasses those elements of a system that transform objects within the data architecture for some business purpose  technology infrastructure provides the foundation for the data and application architectures

9 9 The Hierarchy  Information strategy planning (ISP)  strategic goals defined  success factors/business rules identified  enterprise model created  Business area analysis (BAA)  processes/services modeled  interrelationships of processes and data  Application Engineering  software engineering techniques  modeling applications/procedures that address (BAA) and constraints of ISP  Construction and delivery  Information strategy planning (ISP)  strategic goals defined  success factors/business rules identified  enterprise model created  Business area analysis (BAA)  processes/services modeled  interrelationships of processes and data  Application Engineering  software engineering techniques  modeling applications/procedures that address (BAA) and constraints of ISP  Construction and delivery

10 10 Product Engineering

11 11 Product Architecture Template Hatley-Pirbhai modelling

12 12 Architecture Flow Diagram

13 13 System Engineering  A system view of a product encompasses more than just the software.  Elements of a computer-based system:  Software  Hardware  People  Database  Documentation  Procedures  Other computer-based systems  A system view of a product encompasses more than just the software.  Elements of a computer-based system:  Software  Hardware  People  Database  Documentation  Procedures  Other computer-based systems

14 14 Chapter 7 Requirements Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman

15 15 Requirements Engineering  Inception—Establish a basic understanding of the problem and the nature of the solution.  Elicitation—Draw out the requirements from stakeholders.  Elaboration—Create an analysis model that represents information, functional, and behavioral aspects of the requirements.  Negotiation—Agree on a deliverable system that is realistic for developers and customers.  Specification—Describe the requirements formally or informally.  Validation—Review the requirement specification for errors, ambiguities, omissions, and conflicts.  Requirements management—Manage changing requirements.  Inception—Establish a basic understanding of the problem and the nature of the solution.  Elicitation—Draw out the requirements from stakeholders.  Elaboration—Create an analysis model that represents information, functional, and behavioral aspects of the requirements.  Negotiation—Agree on a deliverable system that is realistic for developers and customers.  Specification—Describe the requirements formally or informally.  Validation—Review the requirement specification for errors, ambiguities, omissions, and conflicts.  Requirements management—Manage changing requirements.

16 16 Inception  Ask “context-free” questions  Who is behind the request for this work?  Who will use the solution (product/system)?  What will be the economic benefits?  How would you characterize “good” output from the system?  What problems does this solution address?  What environment will the product be used in?  Are you the right person to answer these questions?  Are these question relevant?  Can anyone else provide additional information?  Should I be asking you anything else?  Ask “context-free” questions  Who is behind the request for this work?  Who will use the solution (product/system)?  What will be the economic benefits?  How would you characterize “good” output from the system?  What problems does this solution address?  What environment will the product be used in?  Are you the right person to answer these questions?  Are these question relevant?  Can anyone else provide additional information?  Should I be asking you anything else?

17 17 Getting Requirements Right  “The hardest single part of building a software system is deciding what to build. No part of the work so cripples the resulting system if done wrong. No other part is more difficult to rectify later.” —Fred Brooks  “The seeds of major software disasters are usually sown within the first three months of commencing the software project.” —Capers Jones  “We spend a lot of time—the majority of project effort—not implementing or testing, but trying to decide what to build.” —Brian Lawrence  “The hardest single part of building a software system is deciding what to build. No part of the work so cripples the resulting system if done wrong. No other part is more difficult to rectify later.” —Fred Brooks  “The seeds of major software disasters are usually sown within the first three months of commencing the software project.” —Capers Jones  “We spend a lot of time—the majority of project effort—not implementing or testing, but trying to decide what to build.” —Brian Lawrence

18 18 Eliciting Requirements  Why is it so difficult to clearly understand what the customer wants?  Scope  The boundary of the system is ill-defined.  Customers/users specify unnecessary technical detail that may confuse rather than clarify objectives.  Understanding  Customers are not completely sure of what is needed.  Customers have a poor understanding of the capabilities and limitations of the computing environment.  Customers don’t have a full understanding of their problem domain.  Customers have trouble communicating needs to the system engineer.  Customers omit detail that is believed to be obvious.  Customers specify requirements that conflict with other requirements.  Customers specify requirements that are ambiguous or untestable.  Volatility  Requirements change over time.  Why is it so difficult to clearly understand what the customer wants?  Scope  The boundary of the system is ill-defined.  Customers/users specify unnecessary technical detail that may confuse rather than clarify objectives.  Understanding  Customers are not completely sure of what is needed.  Customers have a poor understanding of the capabilities and limitations of the computing environment.  Customers don’t have a full understanding of their problem domain.  Customers have trouble communicating needs to the system engineer.  Customers omit detail that is believed to be obvious.  Customers specify requirements that conflict with other requirements.  Customers specify requirements that are ambiguous or untestable.  Volatility  Requirements change over time.

19 19 Collaborative Requirements Gathering  Meetings are attended by all interested stakeholders.  Rules established for preparation and participation.  Agenda should be formal enough to cover all important points, but informal enough to encourage the free flow of ideas.  A facilitator controls the meeting.  A definition mechanism (blackboard, flip charts, etc.) is used.  During the meeting:  The problem is identified.  Elements of the solution are proposed.  Different approaches are negotiated.  A preliminary set of solution requirements are obtained.  The atmosphere is collaborative and non-threatening.  Meetings are attended by all interested stakeholders.  Rules established for preparation and participation.  Agenda should be formal enough to cover all important points, but informal enough to encourage the free flow of ideas.  A facilitator controls the meeting.  A definition mechanism (blackboard, flip charts, etc.) is used.  During the meeting:  The problem is identified.  Elements of the solution are proposed.  Different approaches are negotiated.  A preliminary set of solution requirements are obtained.  The atmosphere is collaborative and non-threatening.

20 20 Quality Function Deployment  Function deployment determines the “value” (to the customer) of each function required of the system.  Information deployment identifies data objects and events.  Task deployment examines the behavior of the system.  Value analysis determines the priority of requirements.  Function deployment determines the “value” (to the customer) of each function required of the system.  Information deployment identifies data objects and events.  Task deployment examines the behavior of the system.  Value analysis determines the priority of requirements.

21 21 Elicitation Work Products  Statement of need and feasibility.  Statement of scope.  List of participants in requirements elicitation.  Description of the system’s technical environment.  List of requirements and associated domain constraints.  List of usage scenarios.  Any prototypes developed to refine requirements.  Statement of need and feasibility.  Statement of scope.  List of participants in requirements elicitation.  Description of the system’s technical environment.  List of requirements and associated domain constraints.  List of usage scenarios.  Any prototypes developed to refine requirements.

22 22 Use-Cases  A use-case scenario is a story about how someone or something external to the software (known as an actor) interacts with the system.  Each scenario answers the following questions:  Who is the primary actor, the secondary actor(s)?  What are the actor’s goals?  What preconditions should exist before the story begins?  What main tasks or functions are performed by the actor?  What exceptions might be considered as the story is described?  What variations in the actor’s interaction are possible?  What system information will the actor acquire, produce, or change?  Will the actor have to inform the system about changes in the external environment?  What information does the actor desire from the system?  Does the actor wish to be informed about unexpected changes?  A use-case scenario is a story about how someone or something external to the software (known as an actor) interacts with the system.  Each scenario answers the following questions:  Who is the primary actor, the secondary actor(s)?  What are the actor’s goals?  What preconditions should exist before the story begins?  What main tasks or functions are performed by the actor?  What exceptions might be considered as the story is described?  What variations in the actor’s interaction are possible?  What system information will the actor acquire, produce, or change?  Will the actor have to inform the system about changes in the external environment?  What information does the actor desire from the system?  Does the actor wish to be informed about unexpected changes?

23 23 Elements of the Analysis Model  Scenario-based elements  Use-case—How external actors interact with the system (use-case diagrams; detailed templates)  Functional—How software functions are processed in the system (flow charts; activity diagrams)  Class-based elements  The various system objects (obtained from scenarios) including their attributes and functions (class diagram)  Behavioral elements  How the system behaves in response to different events (state diagram)  Flow-oriented elements  How information is transformed as if flows through the system (data flow diagram)  Scenario-based elements  Use-case—How external actors interact with the system (use-case diagrams; detailed templates)  Functional—How software functions are processed in the system (flow charts; activity diagrams)  Class-based elements  The various system objects (obtained from scenarios) including their attributes and functions (class diagram)  Behavioral elements  How the system behaves in response to different events (state diagram)  Flow-oriented elements  How information is transformed as if flows through the system (data flow diagram)

24 24 Use-Case Diagram

25 25 Activity Diagram for RE

26 26 Class Diagram

27 27 State Diagram

28 28 Analysis Patterns Pattern name: Captures the essence of the pattern. Intent: What the pattern accomplishes or represents. Motivation: A scenario that illustrates how the pattern solves a problem. Forces and context: External issues (forces) that affect how the pattern is used, and external issues resolved when the pattern is applied. Solution: How the pattern is applied to solve the problem; emphasizes structural and behavioral issues. Consequences: What happens when the pattern is applied; what trade-offs exist during its application. Design: How the pattern can be achieved via known design patterns. Known uses: Examples of uses within actual systems. Related patterns: Patterns related to the named pattern because (1)they are commonly used with the named pattern; (2)they are structurally similar to the named pattern; (3)they are a variation of the named pattern.

29 29 Negotiating Requirements  Identify the key stakeholders  These are the people who will be involved in the negotiation  Determine each of the stakeholders “win conditions”  Win conditions are not always obvious  Negotiate  Work toward a set of requirements that lead to “win-win”  Identify the key stakeholders  These are the people who will be involved in the negotiation  Determine each of the stakeholders “win conditions”  Win conditions are not always obvious  Negotiate  Work toward a set of requirements that lead to “win-win”

30 30 Validating Requirements  Is each requirement consistent with the objective of the system?  Have all requirements been specified at the proper level of abstraction?  Is the requirement really necessary?  Is each requirement bounded and unambiguous?  Does each requirement have attribution?  Do any requirements conflict with other requirements?  Is each requirement achievable in the system’s technical environment?  Is each requirement testable, once implemented?  Does the model reflect the system’s information, function and behavior?  Has the model been appropriately “partitioned”?  Have appropriate requirements patterns been used?  Is each requirement consistent with the objective of the system?  Have all requirements been specified at the proper level of abstraction?  Is the requirement really necessary?  Is each requirement bounded and unambiguous?  Does each requirement have attribution?  Do any requirements conflict with other requirements?  Is each requirement achievable in the system’s technical environment?  Is each requirement testable, once implemented?  Does the model reflect the system’s information, function and behavior?  Has the model been appropriately “partitioned”?  Have appropriate requirements patterns been used?

31 31 Example CRG Meeting  First CRG meeting of the SafeHome project.  After Q&A session (inception meeting), stakeholders write a two page product request, which is delivered to those attending the first CRG meeting.  Attendees are asked to make a rough list of objects, services, constraints, and performance criteria for the product.  At the meeting, a combined list is created in each topic.  Subgroups write mini-specifications for each list item.  Relevant features in mini-specifications are added to the list.  First CRG meeting of the SafeHome project.  After Q&A session (inception meeting), stakeholders write a two page product request, which is delivered to those attending the first CRG meeting.  Attendees are asked to make a rough list of objects, services, constraints, and performance criteria for the product.  At the meeting, a combined list is created in each topic.  Subgroups write mini-specifications for each list item.  Relevant features in mini-specifications are added to the list.

32 32 Example CRG Meeting  Our research indicates that the market for home management systems is growing at a rate of 40 percent per year. The first SafeHome function we bring to market should be the home security function. Most people are familiar with “alarm systems” so this would be an easy sell.  The home security function would protect against and/or recognize a variety of undesirable “situations” such as illegal entry, fire, flooding, carbon monoxide levels, and others. It’ll use our wireless sensors to detect each situation, can be programmed by the homeowner, and will automatically telephone a monitoring agency when a situation is detected.  Our research indicates that the market for home management systems is growing at a rate of 40 percent per year. The first SafeHome function we bring to market should be the home security function. Most people are familiar with “alarm systems” so this would be an easy sell.  The home security function would protect against and/or recognize a variety of undesirable “situations” such as illegal entry, fire, flooding, carbon monoxide levels, and others. It’ll use our wireless sensors to detect each situation, can be programmed by the homeowner, and will automatically telephone a monitoring agency when a situation is detected.

33 33 Example CRG Meeting  Objects – control panel, smoke detectors, window and door sensors, motion detectors, an alarm, an event (sensor has been activated), a display, a PC, telephone numbers, a telephone call, …  Services – configuring the system, setting the alarm, monitoring the sensors, dialing the phone, programming the control panel, reading the display, …  Constraints – System must recognize when sensors are not operating, must be user friendly, must interface directly to a standard phone line, …  Performance criteria – Sensor event should be recognized within one second, an event priority scheme should be implemented, …  Objects – control panel, smoke detectors, window and door sensors, motion detectors, an alarm, an event (sensor has been activated), a display, a PC, telephone numbers, a telephone call, …  Services – configuring the system, setting the alarm, monitoring the sensors, dialing the phone, programming the control panel, reading the display, …  Constraints – System must recognize when sensors are not operating, must be user friendly, must interface directly to a standard phone line, …  Performance criteria – Sensor event should be recognized within one second, an event priority scheme should be implemented, …

34 34 Example CRG Meeting  Mini-specification for Control Panel  The Control Panel is a wall-mounted unit that is approximately 9 x 5 inches in size. The control panel has wireless connectivity to sensors and a PC. User interaction occurs through a keypad containing 12 keys. A 2 x 2 inch LCD display provides user feedback. Software provides interactive prompts, echo, and similar functions.  Mini-specification for Control Panel  The Control Panel is a wall-mounted unit that is approximately 9 x 5 inches in size. The control panel has wireless connectivity to sensors and a PC. User interaction occurs through a keypad containing 12 keys. A 2 x 2 inch LCD display provides user feedback. Software provides interactive prompts, echo, and similar functions.


Download ppt "1 System Engineering. 2  Elements of a computer-based system 1.Software 2.Hardware 3.People 4.Database 5.Documentation 6.Procedures  Elements of a computer-based."

Similar presentations


Ads by Google