Presentation is loading. Please wait.

Presentation is loading. Please wait.

Winter 2012SEG2106 - Chapter 11 Chapter 1 (Part 2) Introduction to Requirements Modeling.

Similar presentations


Presentation on theme: "Winter 2012SEG2106 - Chapter 11 Chapter 1 (Part 2) Introduction to Requirements Modeling."— Presentation transcript:

1 Winter 2012SEG2106 - Chapter 11 Chapter 1 (Part 2) Introduction to Requirements Modeling

2 Winter 2012SEG2106 - Chapter 12 What is a System? A system is part of real world that a person or group of persons during some time interval and for some purpose choose to regard as a whole, consisting of interrelated components, each component characterized by properties that are selected as being relevant to the purpose. A system is a purposeful collection of interrelated components that work together to achieve some objective. [Braek]

3 Winter 2012SEG2106 - Chapter 13 What is a System (2) A system is part of the real world. What constitutes a system is a matter of definition. Each component of a system may also be regarded as a system. A system is not just any unordered collection of components. A system has purpose.

4 Winter 2012SEG2106 - Chapter 14 System Hierarchy

5 Winter 2012SEG2106 - Chapter 15 A Simple Intruder Alarm System

6 Winter 2012SEG2106 - Chapter 16 System Description Two purposes –To describe the functional behavior so that it can be fully understood –To describe the realization so that the system may be produced Two aspects –(static) structure –(dynamic) behavior

7 Winter 2012SEG2106 - Chapter 17 Behavior The behavior of a system is the development of states and state transitions generated by actions of the system during the time interval in which it is studied. Behavior is a dynamic development over time. Actually occurring in real world. Approximation: behavior consists of actions that change state (value) of variables.

8 Winter 2012SEG2106 - Chapter 18 Structure The structure of a system is the aspects of the system which stay invariant during the time interval in which it is studied. Structure is the way things hold together for some time.

9 Winter 2012SEG2106 - Chapter 19 Techniques to Manage Complexity Abstraction: To ignore some aspects of a phenomenon in order to describe (and understand) others more clearly. Opposite of concrete or physical. The abstractions should be clear and precise, lead to efficient implementation, and support the continuing development and reuse. TechniqueStructureBehavior Abstraction # # Aggregation and partition # Projection # Generalization, specialization # #

10 Winter 2012SEG2106 - Chapter 110 Aggregation and Partitioning All non-trivial systems are composed from components. The process of lumping components together to form a whole is called aggregation. The opposite process of decomposing a whole into parts is called partitioning.

11 Winter 2012SEG2106 - Chapter 111 Projection In projections we look at the system from different angles. A projection is a description of a system as it is observed at subset of its interfaces. Only the observable interfaces are visible, while the others are hidden.

12 Winter 2012SEG2106 - Chapter 112 Generalization and Specialization In the real world there are huge amounts of similar subjects. Rather than describing and understanding all individuals in full detail, we may describe and understand them in terms of similarity. Types are conceptual entities that we use to structure our descriptions and thoughts. –Types are called “Classes “ in UML

13 Winter 2012SEG2106 - Chapter 113 A Generalization Hierarchy

14 Winter 2012SEG2106 - Chapter 114 A system specification includes assumptions and guarantees In general, a system specification has the following form: If certain assumptions about the environment are satisfied, then the system will provide certain guarantees to the environment Example of a sorting program – Specification A: If the input list of integer numbers has less than 1000 entries, then the output list will contain the same integer numbers in ascending order, however, the list may be shorter if some number occurred several times in the input list. – Note: no guarantee is given for the case that the input list contains 1000 entries or more.

15 Winter 2012SEG2106 - Chapter 115 Possibilities of replacement and reuse Theorem for component-based development: Given a specification S = A S  G S (assumption implies guarantee) for a component within a given system structure and an implementation satisfying the specification I = A I  G I. The implementation can be used for realizing this component iff A I is weaker than A S and G I is stronger than G S. One sometimes says that I “conforms“ to S.

16 Winter 2012SEG2106 - Chapter 116 Example Given implementation of a sorting program which satisfies the following Specification B: If the input list of integer numbers has less than 2000 entries, then the output list will contain the same integer numbers in ascending order, each number only once, even if the input list contains some number multiple times. Assumption (B): there is an input list of less than 2000 integers. Guarantee (B): the output list contains the same integer numbers in ascending order, each number only once. Notes: Assumption (B) of less than 2000 is weaker than less than the assumption (less than 1000) of Specification A. Guarantee (B) of having each number only once is stronger than the guarantee of Specification A. The guarantee of Specification A is non-deterministic: it allows for different multiplicities of numbers in the output list.

17 Winter 2012SEG2106 - Chapter 117 Different kinds of specialization The specification I of an implementation that conforms to a given component specification S is a (conforming) specialization If an OO class I inherits from a class S, this means that all methods provided by S (guarantees) are also provided by I, that is, the guarantees of I are stronger than the guarantees of S. This is a special kind of conforming specialization. An implemention of the sorting function that is specialized (and optimized) for numbers between 0 and 255 can be called a “specialization” of the implementation considered above. However, it is not a conforming specification, because it has a stronger assumption (namely, the the sorted values are smaller than 255).

18 Winter 2012SEG2106 - Chapter 118 Behavior Description: the Problem The quality of a real-time system is determined to a very large extent by its behavior. Behavior is the most difficult system aspect to describe, due to its dynamic and transient nature. How can we represent a dynamic and possibly infinite behavior in a static and finite way? See next chapter of this course.


Download ppt "Winter 2012SEG2106 - Chapter 11 Chapter 1 (Part 2) Introduction to Requirements Modeling."

Similar presentations


Ads by Google