Presentation is loading. Please wait.

Presentation is loading. Please wait.

(C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael.

Similar presentations


Presentation on theme: "(C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael."— Presentation transcript:

1 (C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael Bruecknerphone055-261 000-4 (ext. 3233) อ. มิช่า emailmichaelb@nu.ac.th officeSC2-417, by appointment

2 (C) Michael Brückner 2005/2006 Software Engineering 2 Topics covered  System modelling  Context สภาพแวดล้อม models  Behavioural เกี่ยวกับพฤติกรรม models  Data models  Object models  Tools

3 (C) Michael Brückner 2005/2006 Software Engineering 3 Examples

4 4 Examples

5 5 Examples – Object Model

6 (C) Michael Brückner 2005/2006 Software Engineering 6 What is system modelling?  System modelling helps the analyst นักวิเคราะห์ to understand the functionality การทำงาน of the system  Models are used to talk with customers  Different models present the system from different perspectives ทัศนคติ  External ภายนอก perspective shows the context or environment of the system  Behavioural perspective shows its behaviour together with users and other systems  Structural เกี่ยวกับโครงสร้าง perspective shows the system or data architecture

7 (C) Michael Brückner 2005/2006 Software Engineering 7 Example – HW System Architecture

8 (C) Michael Brückner 2005/2006 Software Engineering 8 Example – SW System Architecture Robot System Software External view not worked out

9 (C) Michael Brückner 2005/2006 Software Engineering 9 Model types  Data processing การดำเนินการ model shows how the data is processed at different stages ระยะเวลา  Architectural model shows important sub- systems  Classification model shows how entities have common เหมือนกัน characteristics

10 (C) Michael Brückner 2005/2006 Software Engineering 10 Example – Data Processing Model Multi-tasking data processing

11 (C) Michael Brückner 2005/2006 Software Engineering 11 Example – Classification Model... for intruders บุก รุก network security systems

12 (C) Michael Brückner 2005/2006 Software Engineering 12 Context models  Context models show the operational context of a system - they also show what is outside the system  Architectural models show the system and its relationship with other systems

13 (C) Michael Brückner 2005/2006 Software Engineering 13 The context of an ATM system

14 (C) Michael Brückner 2005/2006 Software Engineering 14 Process models  Process models show the overall ทั้งหมด process and the processes that are supported by the system.

15 (C) Michael Brückner 2005/2006 Software Engineering 15 Equipment procurement process

16 (C) Michael Brückner 2005/2006 Software Engineering 16 Behavioural models  Behavioural models are used to describe the overall behaviour of a system  Two types of behavioural model are:  Data processing models that show how data is processed as it moves through the system  Stimulus ยากระตุ้น /response การตอบสนอง model shows the reaction to events เหตุการณ์สำคัญ  These models show different perspectives so both of them are required to describe the system’s behaviour.

17 (C) Michael Brückner 2005/2006 Software Engineering 17 Data-processing models  Data flow diagrams (DFDs) may be used to model the system’s data processing.  They show the processing steps as data flows through a system.  DFDs are an intrinsic เนื้อแท้ part of many analysis methods.  Simple and intuitive โดยสัญชาตญาณ notation that customers can understand.  Show end-to-end processing of data.

18 (C) Michael Brückner 2005/2006 Software Engineering 18 Example - Order processing DFD

19 (C) Michael Brückner 2005/2006 Software Engineering 19 Example - Data Flow Model Wave buoys ทุ่น provide data about wave amplitudes ความ กว้างขวาง and velocities ความเร็ว worldwide ทั่วโลก How will the data be transferred สื่อไปถึง ?

20 (C) Michael Brückner 2005/2006 Software Engineering 20 Data flow diagrams  DFDs model the system from a functional perspective  Write down and track how the data are associated เชื่อมโยง with a process  Helpful for an overall ทั้งหมด understanding of the system  Data flow diagrams may also be used to show data exchange between a system and other systems in its environment.

21 (C) Michael Brückner 2005/2006 Software Engineering 21 Insulin pump DFD

22 (C) Michael Brückner 2005/2006 Software Engineering 22 Stimulus/response models  These model the behaviour of the system in response to external and internal events.  They show the system’s responses to stimuli  Often used for modelling real-time systems.  When there is an event the system goes from one state to another

23 (C) Michael Brückner 2005/2006 Software Engineering 23 Statecharts  Allow the decomposition of a model into sub-models  Can be complemented by tables describing the states and the stimuli  Example: Microwave oven

24 (C) Michael Brückner 2005/2006 Software Engineering 24 Microwave oven model

25 (C) Michael Brückner 2005/2006 Software Engineering 25 Microwave oven state description

26 (C) Michael Brückner 2005/2006 Software Engineering 26 Microwave oven stimuli

27 (C) Michael Brückner 2005/2006 Software Engineering 27 Microwave oven operation

28 (C) Michael Brückner 2005/2006 Software Engineering 28 Semantic data models  Used to give the logical structure of data processed by the system.  An entity-relation-attribute model sets out the entities in the system, the relationships between these entities and the entity attributes  Widely used in database design. Can easily be implemented using relational databases.

29 (C) Michael Brückner 2005/2006 Software Engineering 29 Library semantic model

30 (C) Michael Brückner 2005/2006 Software Engineering 30 Data dictionaries  Data dictionaries are lists of all of the names used in the system models. Descriptions of the entities, relationships and attributes are also included ประกอบด้วย.  Advantages  Support name management and avoid หลีกเลี่ยง duplication การทำซ้ำ  Store สิ่งที่กักตุนไว้ of organisational knowledge linking analysis, design and implementation

31 (C) Michael Brückner 2005/2006 Software Engineering 31 Data dictionary entries

32 (C) Michael Brückner 2005/2006 Software Engineering 32 Object models-1  Object models describe the system in terms of object classes and their associations การเชื่อม ติดกัน  An object class is an abstraction นามธรรม over a set of objects with same attributes and the services (operations) given by each object.  Various object models may be worked out  Inheritance models;  Aggregation models;  Interaction models.

33 (C) Michael Brückner 2005/2006 Software Engineering 33 Object models-2  Natural way of thinking about real-world entities manipulated ดูแล by the system  More abstract entities are more difficult to model using this approach  Object class identification is a difficult process: need a deep understanding of the application domain  Object classes for domain entities are reusable (we can use them again) ซึ่งนำมาใช้ใหม่ in other projects

34 (C) Michael Brückner 2005/2006 Software Engineering 34 Inheritance models  Organise the domain object classes into a hierarchy.  Classes at the top of the hierarchy show the common features of all classes.  Object classes inherit สืบต่อ / รับมรดก their attributes and services from the super-classes, they may then be specified กำหนด

35 (C) Michael Brückner 2005/2006 Software Engineering 35 Library class hierarchy

36 (C) Michael Brückner 2005/2006 Software Engineering 36 User class hierarchy

37 (C) Michael Brückner 2005/2006 Software Engineering 37 Multiple inheritance  Rather than getting the attributes and services from a single parent class, a system which supports multiple inheritance allows object classes to inherit from more than one super-class  This can lead to semantic conflicts when attributes/services with the same name in different super-classes have different meaning.

38 (C) Michael Brückner 2005/2006 Software Engineering 38 Multiple inheritance

39 (C) Michael Brückner 2005/2006 Software Engineering 39 Object aggregation  An aggregation การรวมกัน model shows how classes that are collections การรวมตัว กันเป็นกลุ่มเป็นกอง are composed of other classes.  Aggregation models are similar เหมือนกัน to the part-of relationship in semantic data models.

40 (C) Michael Brückner 2005/2006 Software Engineering 40 Object aggregation

41 (C) Michael Brückner 2005/2006 Software Engineering 41 Object behaviour modelling  A behavioural model shows the interactions ปฏิกิริยา between objects to get a particular system behaviour that is specified กำหนด as a scenario  Sequence การเรียงลำดับ diagrams (or collaboration การร่วมมือ diagrams) are used to show interaction between objects.

42 (C) Michael Brückner 2005/2006 Software Engineering 42 Issue of electronic items

43 (C) Michael Brückner 2005/2006 Software Engineering 43 Structured methods  Structured methods incorporate system modelling as an inherent part of the method.  Methods define a set of models, a process for deriving these models and rules and guidelines that should apply to the models.  CASE tools support system modelling as part of a structured method.

44 (C) Michael Brückner 2005/2006 Software Engineering 44 Method weaknesses  They do not show non-functional system requirements.  They do not usually give information which model is best used for a given problem  They may produce too much documentation.


Download ppt "(C) Michael Brückner 2005/2006 Software Engineering 1 Course 254 451 Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael."

Similar presentations


Ads by Google