CSC 506: Software Engineering and Knowledge Engineering

advertisement


Dr. Syed Noman Hasany






Review of known methodologies
Analysis of software requirements
Real-time software
Software cost, quality, testing and measurements
Object programming
Knowledge engineering issues: knowledge representation
using rules, frames & logic, basics of logical inference, and
basics of search.


Requirements Traceability Matrix

System modeling is the process of developing abstract
models of a system, with each model presenting a different
view or perspective of that system.
o A picture is a replacement of thousands of words.
4



Models for existing system during requirements engineering are
used to clarify these systems’ functionalities. These models can
be used as a basis for discussing systems’ strengths and
weaknesses, leading to requirements for the new system.
Models of the new system are used during requirements
engineering to help explain the proposed requirements to other
system stakeholders. Engineers use these models to discuss
design proposals and to document the system for implementation.
In a model-driven engineering process, it is possible to generate a
complete or partial system implementation from the system
model.
5



Behavioral models are models of the dynamic behavior of
the system as it is executing.
They show what happens or what is supposed to happen
when a system responds to a stimulus from its environment.
Stimuli can be of two types:
1.
2.
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.
6
A.
B.
Data-driven
Event-driven
7

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. Their processing involves a sequence of actions
on that data and the generation of an output.
o For example, 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.
8

By contrast, real-time systems are often event driven with
minimal data processing.
o For example, 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, etc.
9



Used for data-driven modelling
Data flow diagrams (DFDs) are one of the diagramming
techniques(graphical models) used in structured systems
analysis and design
Data flow diagrams show:
o Data flowing through a system to or from users (external entities)
o The processes that transform the data
o The data stores that hold the data
10

Process
o Activity/function that is performed for some specific business reason.
Names start with a verb and ending with a noun (e.g., “Determine
request quantity”).



Data Flow
o A data flow is a single piece of data (e.g., quantity available) (also
called a data element), should be named with a noun.
Data Store
o collection of data that is stored in some way, named with a noun and
is assigned an identification number.
External Entity
o a person, organization, organization unit, or system that is external to
the system, but interacts with it.
11
Data Flow
Diagram
Symbols
12
DFD Levels

Decomposition is the process of modeling the
system and its components in increasing levels
of detail.

Context DFD
 Overview of the organizational system.
Level-0 DFD

Representation of system’s major processes at high level of abstraction.
Level-1 DFD

Results from decomposition of Level 0 diagram.
Level-n DFD




Results from decomposition of Level n-1 diagram.
13
14
 Shows
the context into which the business
process fits
 Shows the overall business process as just
one process
 Shows all the outside entities that receive
information from or contribute information to
the system
15
 Shows
all the processes that comprise the
overall system
 Shows how information moves from and to
each process
 Adds data stores
16
 Shows
all the processes that comprise a single
process on the level 0 diagram
 Shows how information moves from and to each
of these processes
 Shows in more detail the content of higher level
process
 Level 1 diagrams may not be needed for all level 0
processes
17
 Shows
all processes that comprise a single
process on the level 1 diagram
 Shows how information moves from and to each
of these processes
 Level 2 diagrams may not be needed for all level 1
processes
 Correctly numbering each process helps the user
understand where the process fits into the overall
system
18
NOTE: only one process symbol, and no data stores
shown.
Context diagram
shows the system
boundaries,
external entities
that interact with
the system, and
major information
flows between
entities and the
system.
19
Level-0
DFD shows
the system’s
major
processes,
data flows,
and data
stores at a
high level of
abstraction.
Processes are labeled 1.0, 2.0, etc. These will be decomposed into more
primitive (lower-level) DFDs. Depletion means reduction.
20
Processes are labeled 4.1, 4.2, etc. These can be further
decomposed in more primitive (lower-level) DFDs if
necessary.
Level-1 DFD
shows the subprocesses of
one of the
processes in
the Level-0
DFD.
This is a
Level-1 DFD
for Process
4.0.
21
Level-n DFD
shows the subprocesses of one
of the processes
in the Level n-1
DFD.
Processes are labeled 4.3.1, 4.3.2, etc. If this is the
lowest level of the hierarchy, it is called a primitive
DFD.
This is a Level-2
DFD for Process
4.3.
22
DFD Diagramming Rules Process
No process can have only outputs or only inputs. Processes
must have both outputs and inputs.
Process labels should be verb phrases.
23
DFD Diagramming Rules
Data Store
All flows to or from a data store must move
through a process.
Data Store labels should be noun phrases.
24
DFD Diagramming Rules
Source/Sink
No data moves directly between external entities without going through a
process.
Interactions between external entities without intervening processes are
outside the system and therefore not represented in the DFD.
Source and Sink labels should be noun phrases.
25
DFD Diagramming Rules
Data Flow
Bidirectional flow
between process
and data store is
represented by
two separate
arrows.
Forked data flow
must refer to exact
same data item (not
different data
items) from a
common location to
multiple
destinations.
26
DFD Diagramming Rules
Data Flow
Joined data flow must refer to
exact same data item (not
different data items) from
multiple sources to a common
location.
Data flow cannot go directly
from a process to itself,
must go through intervening
processes.
27
Some Common
Errors
28
Balancing
 Balancing involves insuring that
information presented at one level of a
DFD is accurately represented in the
next level DFD.
29
Balancing the
DFD
30
1 input
1 output
2 inputs
1 output
This is
unbalanced
because the
process of
the context
diagram has
only one
input but the
Level-0
diagram has
two inputs.
31
These are balanced because
the numbers of inputs and
outputs of context diagram
process equal the number of
inputs and outputs of Level-0
diagram.
32
These are balanced because the numbers
of inputs and outputs to Process 1.0 of
the Level-0 diagram equals the number
of inputs and outputs to the Level-1
diagram.
1 input
4 outputs
33
A composite
data flow at a
higher level
may be split if
different parts
go to different
processes in the
lower level
DFD.
This remains balanced because the same data is involved, but split into two
parts.
34


Tune Source is a company headquartered in southern
California, known as the place to go to find rare audio
recordings.
Tune Source currently has a website that enables customers
to search for and purchase CDs. This site was initially
developed by an Internet consulting firm and is hosted by a
prominent local Internet Service Provider (ISP) in Los Angeles.
The IT department at Tune Source has become experienced
with Internet technology as it has worked with the ISP to
maintain the site.
35

Business Need:
o This project has been initiated to increase sales by creating the
capability of selling digital music downloads to customers through
kiosks(stalls) in our stores, and over the Internet using our website.

Business Requirements:
o Using the Web or in-store kiosks, customers will be able to search for
and purchase digital music downloads. The specific functionality that
the system should have includes the following:
• Search for music in our digital music archive.
• Listen to music samples.
• Purchase individual downloads at a fixed fee per download.
• Establish a customer subscription account permitting unlimited
downloads for a monthly fee.
• Purchase music download gift cards.
36
37
38
39
40
41
42
Assignment 1: Find errors??
43

Illustrate at least 4 point to point differences between DFDs
and flow charting, by making two columns or by making
comparable headings.
44
Construct the context diagram from the following level 0
diagram:
45
Download