CSC440 Chapter 5: System Modeling (Software Engineering, Sommerville, 10th Edition)

Ace your homework & exams now with Quizwiz!

Types of diagrams used for behavioral models

- Activity Diagrams - Sequence Diagrams

Pros of Model Driven Engineering

- Allows systems to be considered at higher levels of abstraction - Generating code automatically means that it is cheaper to adapt systems to new platforms.

Generalization

- An everyday technique that we use to manage complexity. - Rather than learn the detailed characteristics of every entity that we experience, we place these entities in more general classes.

Types of diagrams used for structural models

- Class Diagrams

System Boundaries

- Established to define what is inside and what is outside the system. - They show other systems that are used or depend on the system being developed.

What does an aggregation model show?

- How classes that are collections are composed of other classes. - Aggregation models are similar to the part-of relationship in semantic data models.

State Models

- Model the behaviour of the system in response to external and internal events. - Show the system's responses to stimuli so are often used for modelling real-time systems.

Cons of Model Driven Engineering

- Models for abstraction and not necessarily right for implementation. - Savings from generating code may be outweighed by the costs of developing translators for new platforms

Data-Driven Models

- Show the sequence of actions involved in processing input data and generating an associated output. - Particularly useful during the analysis of requirements as they can be used to show end-to-end processing in a system.

Reasons why MDA/MDE has not become more mainstream

- Specialized tool support is required to convert models from one level to another - There is limited tool availability and organizations may require tool adaptation and customisation to their environment - For the long-lifetime systems developed using MDA, companies are reluctant to develop their own tools or rely on small companies that may go out of business - Models are a good way of facilitating discussions about a software design. Howeverthe abstractions that are useful for discussions may not be the right abstractions for implementation. - For most complex systems, implementation is not the major problem - requirements engineering, security and dependability, integration with legacy systems and testing are all more significant.

Difference between static and dynamic structural models

- Static: Show the structure of the system design. - Dynamic: Show the organization of the system when it is executing.

What two diagrams are used for interaction modeling?

- Use Case Modeling - Sequence Diagrams

Types of diagrams used for interaction models

- Use Cases - Sequence Diagrams

How is generalization implemented in OO langauges?

- class inheritance mechanisms - the attributes and operations associated with higher-level classes are also associated with the lower-level classes. - The lower-level classes are subclasses inherit the attributes and operations from their superclasses. These lower-level classes then add more specific attributes and operations.

Model Driven Architecture

- precursor of more general model-driven engineering -model-focused approach to software design and implementation that uses a subset of UML models to describe a system.

System Perspectives

1) An external perspective: where you model the context or environment of the system. 2) An interaction perspective: where you model the interactions between a system and its environment, or between the components of a system. 3) A structural perspective: where you model the organization of a system or the structure of the data that is processed by the system. 4) A behavioral perspective: where you model the dynamic behavior of the system and how it responds to events.

Three ways in which graphical models are used

1) As a means of facilitating discussion about an existing or proposed system 2) As a way of documenting an existing system 3) As a detailed system description that can be used to generate a system implementation

Types of MDA Models

1) Computational Independent Model (CIM) 2) Platform Independent Model (PIM) 3) Platform Specific Model (PSM)

Two types of behavior when discussing Behavior Models

1) Data: Some data arrives that has to be processed by the system 2) Events: Some event happens that triggers system processing. Events may have associated data, although this is not always the case.

Use Case cases represent what?

A discrete task that involves external interaction with a system

___________ diagrams may be used to model the processing of data, where each activity represents one process step.

Activity

Types of diagrams used for context models

Activity diagrams

Model-Driven Engineering

An approach to software development whereby models rather than programs are the principle outputs of the development process.

Class Diagram

An object-oriented system model to show the classes in a system and the associations between these classes.

When are system models used?

During the requirements engineering phase to help explain the proposed requirements to other stakeholders.

T or F: A model is meant to be a complete representation of a system.

False, it purposely leaves out detail to make it easier to understand.

____________________ is an approach to software development in which a system is represented as a set of models that can be automatically transformed to executable code.

Model-driven engineering

A model is an __________ view of a system that ignores system details. Complementary system models can be developed to show the system's __________, interactions, structure and ___________.

abstract context behavior

Use case diagrams and sequence diagrams are used to describe the interactions between _________ and _____________ in the system being designed. _____________ describe interactions between a system and external actors; ______________add more information to these by showing interactions between system objects.

users systems Use cases sequence diagrams

___________models are used to describe the dynamic behavior of an executing system. This behavior can be modeled from the perspective of the data processed by the system, or by the events that stimulate responses from a system.

Behavioral

______________ models show how a system that is being modeled is positioned in an environment with other systems and processes.

Context

Computation independent model (CIM)

These model the important domain abstractions used in a system. CIMs are sometimes called domain models.

Behavior Models

Models of the dynamic behavior of a system as it is executing.

State Diagrams

Show how the system reacts to internal and external events.

Sequence Diagrams

Show interactions between actors and the system and between system components.

Activity Diagrams

Show the activities involved in a process or in data processing

Use Case Diagrams

Show the interactions between a system and its environment.

Class Diagrams

Show the object classes in the system and the associations between these classes.

Event-Driven Models

Shows how a system responds to external and internal events

_____________diagrams are used to model a system's behavior in response to internal or external events.

State

_____________ models show the organization and architecture of a system. ___________are used to define the static structure of classes in a system and their associations.

Structural Class diagrams

What do structural models display?

The organization of a system in terms of the components that make up that system and their relationships.

System Modeling

The process of developing abstract models of a system, with each model presenting a different view or perspective of that system

What do sequence diagrams show?

The sequence of interactions that take place during a particular use case or use case instance.

What is meant when saying that defining a system boundary is a political judgment?

There may be pressures to develop system boundaries that increase / decrease the influence or workload of different parts of an organization.

Platform specific models (PSM)

These are transformations of the platform-independent model with a separate PSM for each application platform. In principle, there may be layers of PSM, with each layer adding some platform-specific detail.

Platform independent model (PIM)

These model the operation of the system without reference to its implementation. The PIM is usually described using UML models that show the static system structure and how it responds to external and internal events.

What is the main argument for proponents of MDE

They argue that this raises the level of abstraction in software engineering so that engineers no longer have to be concerned with programming language details or the specifics of execution platforms

T or F: When developing a class diagram, objects represent something in the real world.

True!

Universal Modeling Language

UML is a set of 13 different diagram types that may be used to model software systems. Emerged from work in the 1990s on object-oriented modeling, where similar object-oriented notations were integrated to create the UML.

Context Models

Used to illustrate the operational context of a system - they show what lies outside the system boundaries.

UML Diagram Types

~Activity diagrams ~Use case diagrams ~Sequence diagrams ~Class diagrams ~State diagrams


Related study sets

functional foods for health exam 2

View Set

Health Promotion of Newborn to One year chapter 21

View Set

Unit 1: Chapter 2 Mini-Lesson Questions

View Set

Chapter 49: Assessment and Management of Patients With Hepatic Disorders 3

View Set

Chapter 4: What have you learned?

View Set

Chapter 18 - Development and Aging

View Set

HESI A2 - Critical Thinking- Rationale

View Set