1 / 18

Chapter 1 (Part 2)

Explore the definition and elements of systems, including structures, behaviors, and techniques for managing complexity in requirements modeling. Learn about aggregation, partitioning, projection, and specialization to enhance system design.

jbohanon
Download Presentation

Chapter 1 (Part 2)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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] SEG2106 - Chapter 1

  3. 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. SEG2106 - Chapter 1

  4. System Hierarchy SEG2106 - Chapter 1

  5. A Simple Intruder Alarm System SEG2106 - Chapter 1

  6. 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 SEG2106 - Chapter 1

  7. 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. SEG2106 - Chapter 1

  8. 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. SEG2106 - Chapter 1

  9. 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. SEG2106 - Chapter 1

  10. 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. SEG2106 - Chapter 1

  11. 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. SEG2106 - Chapter 1

  12. 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 SEG2106 - Chapter 1

  13. A Generalization Hierarchy SEG2106 - Chapter 1

  14. 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 – specification of a sorting program: 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. SEG2106 - Chapter 1

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

  16. Example Specification of a sorting program for integers: 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. Assumption: there is an input list of less than 2000 integers. Guarantee: the output list contains the same integer numbers in ascending order Notes: • Different assumption: less than 4000 is a weaker assumption than less than 2000. • Different guarantee: in output, have each number only once - this is stronger than not having this guarantee. • The given specification is non-deterministic: it allows for different multiplicities of numbers in the output list. SEG2106 - Chapter 1

  17. 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). SEG2106 - Chapter 1

  18. 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. SEG2106 - Chapter 1

More Related