(C) Michael Brückner 2005/2006 Software Engineering 1 Course Software Engineering Class 10 / Requirements Engineering, Systems Modeling Michael Bruecknerphone (ext. 3233) อ. มิช่า officeSC2-417, by appointment
(C) Michael Brückner 2005/2006 Software Engineering 2 Topics covered System modelling Context สภาพแวดล้อม models Behavioural เกี่ยวกับพฤติกรรม models Data models Object models Tools
(C) Michael Brückner 2005/2006 Software Engineering 3 Examples
4 Examples
5 Examples – Object Model
(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
(C) Michael Brückner 2005/2006 Software Engineering 7 Example – HW System Architecture
(C) Michael Brückner 2005/2006 Software Engineering 8 Example – SW System Architecture Robot System Software External view not worked out
(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
(C) Michael Brückner 2005/2006 Software Engineering 10 Example – Data Processing Model Multi-tasking data processing
(C) Michael Brückner 2005/2006 Software Engineering 11 Example – Classification Model... for intruders บุก รุก network security systems
(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
(C) Michael Brückner 2005/2006 Software Engineering 13 The context of an ATM system
(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.
(C) Michael Brückner 2005/2006 Software Engineering 15 Equipment procurement process
(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.
(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.
(C) Michael Brückner 2005/2006 Software Engineering 18 Example - Order processing DFD
(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 สื่อไปถึง ?
(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.
(C) Michael Brückner 2005/2006 Software Engineering 21 Insulin pump DFD
(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
(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
(C) Michael Brückner 2005/2006 Software Engineering 24 Microwave oven model
(C) Michael Brückner 2005/2006 Software Engineering 25 Microwave oven state description
(C) Michael Brückner 2005/2006 Software Engineering 26 Microwave oven stimuli
(C) Michael Brückner 2005/2006 Software Engineering 27 Microwave oven operation
(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.
(C) Michael Brückner 2005/2006 Software Engineering 29 Library semantic model
(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
(C) Michael Brückner 2005/2006 Software Engineering 31 Data dictionary entries
(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.
(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
(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 กำหนด
(C) Michael Brückner 2005/2006 Software Engineering 35 Library class hierarchy
(C) Michael Brückner 2005/2006 Software Engineering 36 User class hierarchy
(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.
(C) Michael Brückner 2005/2006 Software Engineering 38 Multiple inheritance
(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.
(C) Michael Brückner 2005/2006 Software Engineering 40 Object aggregation
(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.
(C) Michael Brückner 2005/2006 Software Engineering 42 Issue of electronic items
(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.
(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.