System Design
System Design
Engineering
SYSTEM MODELING
Goal
understand how graphical models can be used to represent software
systems
understand why different types of model are required and the
fundamental system modeling perspectives of context, interaction,
structure, and behavior
introduction to some of the diagram types in the Unified
Modeling Language (UML) and how these diagrams may be used in
system modeling;
Focus
◦ Context models
◦ Interaction models
◦ Structural models
◦ Behavioral models
◦ Model-driven engineering
Introduction
is the process of developing abstract models of a system, with each
model presenting a different view or perspective of that system.
It represents the system using some kind of graphical notation
Models are used
◦ During the requirements engineering process to help derive the requirements
for a system,
◦ During the design process to describe the system to engineers implementing
the system
◦ After implementation to document the system’s structure and operation
You may develop models of both the existing system and the
system to be developed
Models
Try
1. Write down the sequence of exchange for issuing a book assuming
you the librarian
Structural models
Display the organization of a system in terms of the
components that make up that system and their relationships
Types
◦ Class diagrams
Class Diagrams
Graphical representation of static view of the system and represents
different aspects of the application
used when developing an object-oriented system model to show the
classes in a system and the associations between these classes.
an object class name
◦ as a general definition of one kind of system object
Attributes
◦ Property shared by all instances of a class. It lies in the
second compartment in class rectangle.
Operations
◦ An execution of an action can be performed for any object of a class
look at the world, identify the essential objects, and represent these as
classes
Structural Models-Class Diagram
Example
Classes
◦ Patient
◦ Patient Record
each patient has exactly one record and each record maintains
information about exactly one patient.
show the data entities, their associated attributes, and the relations
between these entities
Structure
Ex
◦ a phone billing system will accept information about calls made by a customer,
calculate the costs of these calls, and generate a bill to be sent to that customer
◦ real-time systems are often event driven with minimal data processing
◦ a landline phone switching system responds to events such as ‘receiver off hook’ by generating a dial
tone, or the pressing of keys on a handset by capturing the phone number,
Data-driven modeling
show the sequence of actions involved in processing input data and
generating an associated output.
Show the entire sequence of actions that take place from an input being
processed to the corresponding output, which is the system’s response.
Include
◦ Activity Diagrams
◦ Data Flow Diagrams
Activity Diagram
◦ Its basically a flow chart to represent the flow form one activity
to another activity. The activity can be described as an operation
of the system.
The most important shape types:
◦ rounded rectangles represent actions;
◦ diamonds represent decisions;
◦ bars represent the start (split) or end (join) of concurrent
activities;
◦ a black circle represents the start (initial state) of the workflow;
◦ an encircled black circle represents the end (final state).
Activity Diagram Example
Event-driven modeling
◦ shows how 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 (stimuli) may cause a
transition from one state to another
◦ For example, a system controlling a valve may move from a
state ‘Valve open’ to a state ‘Valve closed
◦ Do not show the flow of data within the system
◦ Suitable for real-time systems
Example
Software testing
Objectives
◦ understand the stages of testing from testing, during
development to acceptance testing by system customers
◦ techniques that help you choose test cases that are geared to
discovering program defects
Testing can only show the presence of errors, not their absence
Testing is part of a broader process of software verification
and validation (V & V).
◦ ‘Validation: Are we building the right product?’
Test data
◦ are the inputs that have been devised to test a system
Types of Test Cases
Testing can either be done manually or using an automated
testing tool.
◦ Manual - This testing is performed without taking help of
automated testing tools.
◦ Automated This testing is a testing procedure done with
aid of automated testing tools
Sample Test Case
http://testing4easy.blogspot.co.ke/2012/01/test-cases-for-atm.html
Standard Test Cases