Review of Known Methodologies
Review of Known Methodologies
54
Chapter 4 Requirements engineering
Domain requirements
• The system’s operational domain imposes requirements
on the system.
• For example, a train control system has to take into account
the braking characteristics in different weather conditions.
• If domain requirements are not satisfied, the system
may be unworkable.
Chapter Description
Preface This should define the expected readership of the document and describe its
version history, including a rationale for the creation of a new version and a
summary of the changes made in each version.
Introduction This should describe the need for the system. It should briefly describe the
system’s functions and explain how it will work with other systems. It should also
describe how the system fits into the overall business or strategic objectives of
the organization commissioning the software.
Glossary This should define the technical terms used in the document. You should not
make assumptions about the experience or expertise of the reader.
User requirements Here, you describe the services provided for the user. The nonfunctional system
definition requirements should also be described in this section. This description may use
natural language, diagrams, or other notations that are understandable to
customers. Product and process standards that must be followed should be
specified.
System architecture This chapter should present a high-level overview of the anticipated system
architecture, showing the distribution of functions across system modules.
Architectural components that are reused should be highlighted.
System evolution This should describe the fundamental assumptions on which the system is based, and
any anticipated changes due to hardware evolution, changing user needs, and so on.
This section is useful for system designers as it may help them avoid design decisions
that would constrain likely future changes to the system.
Appendices These should provide detailed, specific information that is related to the application
being developed; for example, hardware and database descriptions. Hardware
requirements define the minimal and optimal configurations for the system. Database
requirements define the logical organization of the data used by the system and the
relationships between data.
Index Several indexes to the document may be included. As well as a normal alphabetic
index, there may be an index of diagrams, an index of functions, and so on.
3.6 The system shall run a self-test routine every minute with the
conditions to be tested and the associated actions defined in Table 1.
(A self-test routine can discover hardware and software problems
and alert the user to the fact the normal operation may be
impossible.)
78
Chapter 5 System modeling
Behavioral model types
A. Data-driven
B. Event-driven
79
A. Data driven behavioral model
• 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.
• 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.
80
B. Event-driven behavioral model
• By contrast, 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, or
the pressing of keys on a handset by capturing the phone
number, etc.
81
Data Flow Diagrams (DFDs)
• Used for data-driven modelling
• Data flow diagrams (DFDs) are one of the diagramming
techniques(graphical models) used in structured systems
analysis and design
82
DFD Elements
• Process
• 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
• 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
• collection of data that is stored in some way, named with a noun
and is assigned an identification number.
• External Entity
• a person, organization, organization unit, or system that is external to
the system, but interacts with it. 83
Data Flow
Diagram
Symbols
84
85
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.
85
Context Diagram
NOTE: only one process symbol, and no data stores shown. Major 86
information flows are shown between entities and the system.
Level-0 DFD
Processes are labeled 1.0, 2.0, etc. These will be decomposed into more primitive
(lower-level) DFDs. Depletion means reduction.
87
Level-1 DFD
This is a Level-1
DFD for Process
4.0.
Processes are labeled 4.1, 4.2, etc. These can be further decomposed in more
primitive (lower-level) DFDs if necessary.
88
Level-n DFD
Level-n DFD
shows the sub-
processes of one
of the processes
in the Level n-1
DFD.
This is a Level-2
DFD for Process
Processes are labeled 4.3.1, 4.3.2, etc. If this is the lowest
4.3.
level of the hierarchy, it is called a primitive DFD.
89
90
Balancing
Balancing involves insuring that information
presented at one level of a DFD is accurately
represented in the next level DFD.
90
Balanced DFD
1 input
4 outputs
92
Unbalanced DFD
This is
1 input unbalanced
1 output because the
process of the
context
diagram has
only one input
but the Level-
2 inputs 0 diagram has
1 output two inputs.
93
Balancing the DFD
94
3. System modeling using UML
• System modeling has now come to mean representing a system using some kind of
graphical notation, which is now almost always based on notations in the Unified
Modeling Language (UML).
97
97
Chapter 5 System modeling
UML diagrams
• Fortunately, four UML diagramming techniques have come to dominate object-oriented
projects:
• Use case diagrams,
• Class diagrams,
• Sequence diagrams, and
• Behavioral state machine diagrams.
• The other diagramming techniques are useful for their particular purposes, but these four
techniques form the core of UML as used in practice today
98
UML diagrams
• The use case diagram is always created first, but the order in which the other diagrams are created
depends upon the project and the personal preferences of the analysts.
• Then class diagrams, sequence diagrams, and behavioral state machine diagrams are used to further
define the evolving system from various perspectives.
• Most analysts start either with the class diagrams (showing what objects contain and how they are
related, much like ERDs) or the sequence diagrams (showing how objects dynamically interact, much
like DFDs), but in practice, the process is iterative.
• Developing sequence diagrams often leads to changes in the class diagrams and vice versa, so analysts
often move back and forth between the two, refining each in turn as they define the system. Generally
speaking, behavioral state machine diagrams are developed later, after the class diagrams have been
refined.
99
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 modeling.
102
Transfer-data use case
A use case in the MHC-PMS
Description A receptionist may transfer data from the MHC-PMS to a general patient record
database that is maintained by a health authority. The information transferred may
either be updated personal information (address, phone number, etc.) or a
summary of the patient’s diagnosis and treatment.
Comments The receptionist must have appropriate security permissions to access the patient
information and the PRS.
108
Elements of a Sequence Diagram
• A thin, rectangular box, called the execution occurrence, is overlaid onto the lifeline to
show when the classes are sending and receiving messages.
• A message is a communication between objects that conveys information, with the
expectation that activity will ensue, and messages passed between objects are shown
by solid lines connecting two objects, called links.
• The arrow on the link shows which way the message is being passed, and any argument
values for the message are placed in parentheses next to the message’s name. The
order of messages goes from top to bottom, so messages located higher on the
diagram represent messages that occur earlier in the sequence, versus the lower
messages that occur later.
109
Elements of a Sequence Diagram
• There are times that a message is sent only if a condition is met. In those cases, the
condition is placed between a set of [], such as [Authorization Ok]
• It is possible to explicitly show the return from a message, with a return link, a dashed
message. However, adding return links tends to clutter the diagram. Therefore, unless the
return links add a lot of information to the diagram, they should be omitted.
• The interaction operator alt means that the combined fragment represents a choice or
alternatives of behavior.
110
Sequence diagram for “View patient information”