You are on page 1of 11

GROUP 5 ASSIGNMENT SOFTWARE ENGINEERING

GROUP 5
IBRAHIM BIT-1-3128-3/2022
ISHAQ AZZY BIT-1-2565-2/2022
ALVIN OBONYO BIT-1-0821-1/2017

TOPIC: SYSTEM MODELING

SYSTEM modeling-It is an abstract view of a system that ignore system details


A model -is a graphical representation that describes the system which is to be developed
Natural language is used to write both user and system requirements
Types of user requirements
a)user requirements
b)system requirement
NB; BOTH USER REQUIREMENT AND SYSTEM REQUIREMENT THEY BOTH USE natural
requirement thus systemic requirement are more detail than user requirement.
DIFFERENT TYPES OF SYTEM MODELS
1.external perspective-you model the context or environment of the sytem
2.interaction perspective-the interaction between a system or component of a system
3.structural perspective-the structural of data that is processed by a system
4.behavioral perspective-can model the dynamic behaviour of a system i.e how it responds to
the event that is occurring
UML
Fisrt UML stand for unified modeling language its used in object oriented modeling for righting
softaware blue print-is a high-level plan or outline depending on which the end product,that is
software is going to be build
Types of UML diagram
i)activity diagram-it shoswthe activity involves in a process or data process
ii)use case diagram- its show the interaction between a system and its environment
iii) sequence diagram-it shows the interaction between system component
iv)class diagram-it shows the object class of asytem and association between this classes
v)state diagram- how the system react to external internal.

CONTEXT MODEL
The model show how the system being modeled is place in an environment with other system
They show what lies outside the boundaries however they don’t show the type of relationship
between the system and environment and the system that need to be specified
It involves working with system stakeholders to decide what functionality should be included in
the system
These sytem are interconnected to each other and it forms the context of the
catering company it is a simple context with shows how the system should work
Advantage of context
1. avoid duplicating data
Disadvantages
1. using another system may make it slower to access information

INTERACTION MODELS
• Modeling user interaction is important as it helps to identify user requirements.
• Modeling system-to-system interaction highlights the communication problems that may
arise
• Modeling component interaction helps us understand if a proposed system structure is likely
to deliver the required system performance and dependability
• Use case diagrams and sequence diagrams may be used for interaction modelling

Use case modelling


• Use cases were developed originally to support requirements elicitation and now
incorporated into the UML
• Each use case represents a discrete task that involves external interaction with a system
• Actors in a use case may be people or other systems
• Represented dramatically to provide an overview of the use case and in a more detailed
textual form
Transfer-data use case
A use case in sequence diagrams
Transfer data authentication system is the actor's

STRUCTURAL MODELS
Structural modelling captures the static features of a system. they consist of
• Class diagram
• Object diagram
• Component diagram
• Deployment diagram
Static features means fixed or stationary condition
-The purpose of structural models is, to reduce the “semantic gap” between the real world and
the world of the software. Communication should be established between the real world of the
system
-Creates a vocabulary for analysts and users
-Represent things,ideas and concepts of importance in the application domain.
-class diagram is the most widely used structural diagram.
Essential elements of a UML class diagram

• class
• attributes operations
• operations
• relationships-under relationship there are; association, generation. dependency, realization.
A class Is the description of a set of objects having similar attributes, operations, relationships
and behaviour.

Window
Size: size
Visibility: Boolean
display()
hide()

Class name
Attributes
Operations
Relationships in class diagram
1)Association-it is a structural relationship specifying that object of one class are connected to
object of a secong class.eg;An employee works for a company

*directed association,reflexive association, multiplicity association.


2)aggregation-it is a special form of association that models a whole-part relationship between
an aggregate(the whole) and its parts

3)composition-a strong form of aggregation, the whole is the sole owner of its parts.
-The part object may belong to only one whole
-multiplicity on the whole side must be zero or one
4)generalization-indicates the objects of the specialized class(subclass)are substitutable for
objects of the generalized class (superclass)
->” is kind of relationship
5)realization-it indicates that one class implements a behaviour specified by another class(an
interface)
-an interface can be realized by many classes

QUESTIONS ON SYSTEM MODELING


1. The Unified Modeling Language (UML) has become an effective standard for software
modelling.How many different notations does it have ?
a) Three
b) Four
c) Six
d) Nine
Answer: d
Explanation: The different notations of UML includes the nine UML diagrams namely class,
object, sequence, collaboration, activity, state-chart, component, deployment and use case
diagrams.
2) Which model in system modelling depicts the dynamic behaviour of the system?
a) Context Model
b) Behavioral Model
c) Data Model
d) Object Model
Answer: b
Explanation: Behavioral models are used to describe the dynamic behaviour of an executing
system. This can be modelled from the perspective of the data processed by the system or by
the events that stimulate responses from a system.
3) Which model in system modelling depicts the static nature of the system?
a) Behavioral Model
b) Context Model
c) Data Model
d) Structural Model
Answer: d
Explanation: Structural models show the organization and architecture of a system. These are
used to define the static structure of classes in a system and their associations.
4) Which system model is being depicted by the ATM operations shown below:

a) Structural model
b) Context model
c) Behavioral model
d) Interaction model
Answer: b
Explanation: Context models are used to illustrate the operational context of a system. They
show what lies outside the system's boundaries.

Behavioural models are models of the system's dynamic behaviour as it executes.


They show what happens or what is supposed to happen when a system responds to a
stimulus from its environment. You can think of these stimuli as being of two types:
● Data Some data arrives that has to be processed by the system.
● Events Some event happens that triggers system processing. Events may have
associated data but this is not always the case.

Data-Driven models many business systems are data processing systems that are primarily
driven by data. They are controlled by the data input to the system, with relatively little external
event processing data-driven models to show the sequence of actions involved in processing
input data and generating an associated output.
They are particularly useful during the analysis of requirements as they can be used to show
end-to-end processing in a system.
Event-driven modelling
Real-time systems are often event-driven, with minimal data processing. For example, a landline
phone switching system responds to events such as ‘receiver off hook’ by generating a dial
tone.
Event-driven modelling shows that a system responds to external and internal events.
It is based on the assumption that a system has a finite number of states and that events may
cause a transition from one state to another.

State machine models


These model the system's behaviour in response to external and internal events.
They show the system’s response to stimuli so are events as arcs between these nodes. When
an event occurs, the system moves from one state to another.
State charts are an integral part of the UML and are used to represent state machine models.

A model-driven engineering approach to software development where models rather than


programs are the principal outputs of the development process.
The programs that execute on hardware/software platforms are then generated automatically
from the models.
Proponents of the MDE 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.

Usage of model-driven engineering


Model-driven engineering is still at an early stage of development and it is unclear whether or
not it will have a significant effect on software engineering practice.

Pros
Allow the system to be considered at higher levels of abstraction
Generating code automatically means that it is cheaper to adapt the system to new platforms.

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

Types of model

A computation Independent Model CIM These models are the important domain abstraction
used in a system. Theft is sometimes called Domain names.
A Platform Independent model
These models are the operation of the system without reference to its implementation. The PIM
model is usually described using UML.

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

Questions
What are the 4 basic components of behavioural modelling?
● Modeling
● Retention
● Rehearsal
● Feedback

Which of the following is NOT a characteristic of a Use case


Involves a calculation
● Describes an Action
● Related to a specific Goal
Agile methods and MDA
The developer of MDA claim that it is intended to support an interactive approach to
development and so can be used within agile methods.
The notion of extensive up-font modeling contradicts the fundamental ideas in the agile
manifesto and I suspect that few agile developers feel comfortable with model driven
engineering.
It transforms can be completely automated and a complete program generated from a PIM, then
in principle, MDA could be used in an agile development process as no separate coding would
be required.

Adoption of MDA
A range of factors has limited the adoption of MDE/MDA.
Specialized tool support is required to convert models from one level to another.
The limited tool availability and organizations may require tool adoption and customization 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 software design. However, the
abstractions that are useful for discussions may not be the right abstractions for implementation.
The widespread adoption of agile methods over the same period that MDA was evolving has
directed attention away from model-driven approaches.

You might also like