Information Systems 3A Study Guide
Information Systems 3A Study Guide
MODULE OUTCOMES
At the end of this module students should be able to know:
The value of information systems is discussed.
Information systems within business organisations are discussed.
Input, output and processing devices are explained.
Types of software and their applications are discussed.
The use of organising data and information in organisations are explained.
The importance of telecommunications and networks are debated.
The Internet, intranet and extranets are evaluated.
Electronic commerce and mobile commerce are discussed.
Enterprise systems are described.
Information and decision support systems are evaluated.
Systems development is investigated and analysed.
Information system design, implementation and maintenance are examined.
The personal and social impact of computers is discussed.
PRESCRIBED TEXTBOOK
Textbook Author Year Publisher ISBN
Introduction
The objective of this section is to introduce the student to basic concepts that are needed to
understand system development. The whole chapter defines System Analysis, System
Design, System Development Life Cycle, Iterative development, Agile development and the
six core processes to system development. At the end, a case study of Ridgeline Mountain
Outfitters (RMO) is designed and developed showing how the six core processes are used in
each iteration.
Learning outcomes:
After having worked through this study unit you will be able to:
Describe the purpose of systems analysis and design in the development of an
information system
Describe the characteristics of Agile methodologies and iterative systems
development
Explain the SDLC and identify its core processes
Describe how the six core processes of the SDLC are used in each iteration
Identify key diagrams used in systems analysis and systems design
Explain the utility of identifying use cases in systems development
Explain the utility of identifying object classes in systems development
Software development
Figure 1.1 shows the difference between system analysis and system design
• Systems analysis – these are activities that enable a person to understand and
specify what an information system should accomplish
• Systems design – these are activities that enable a person to define and describe in
detail the system that solves the need
The SDLC is a framework that identifies all the activities required to research, build, deploy
and maintain an information system. The SDLC defines all the activities required to develop
a new system that is starting from planning, analysis, design, implementation and
maintenance. There are many different versions of the SDLC. This section distils out six core
process required for the development of any new system. In other words, these six core
processes are common to all types of SDLCs. By understanding these six core processes,
students will not only be able to develop new systems effectively, but they will be able to
adapt to any other SDLC that they may encounter in industry. The six core processes are:
1. Identify the problem or need and obtain approval to proceed.
2. Plan and monitor the project—what to do, how to do it, and who does it.
Iterative Development
Iterative development is an approach to system development in which the system is grown/
developed piece by piece through multiple mini projects called iterations. Iterative
Development illustrates six core processes and how they are utilized across various
iterations to develop a new system. Core processes and iterative development are common
themes for many types of SDLCs, including the Unified Process, Extreme Programming, and
Scrum. Again, the approach in the prescribed textbook is to teach the students the general
concepts so that they can apply them in their own activities or within the framework of a
corporate environment.
Pre-Project Activities
Pre-project activities are those activities required to get the project approved and started.
There are two major objectives namely:
• Identify the problem and document the objective of the system (core process 1) and
within this activity the following needs to be done:
o Preliminary investigation
o System Vision Document
• Obtain approval to commence the project (core process 1). When obtaining approval
the System Analyst need to:
o Meet with key stakeholders, including executive management
o Make decisions and then the plan should be approved as well as the budget
Introduction
In Study Unit 1 we introduced the six core processes of the SDLC. In this Study Unit we
focus on the third core process: "Discover and understand the details of the problem and the
need." Another major topic in this study unit is a definition and discussion of requirements
and how requirements are captured by building models. The next topic is a discussion on
stakeholders - who they are and how to gather information. Finally the chapter ends with
instructions on how to use UML activity diagrams to document user work flows. This study
unit is an important study unit with key concepts to help the students understand the need
and the importance of system analysis and how to gather user requirements.
Learning outcomes:
After having worked through this study unit you will be able to:
Describe the activities of systems analysis
Explain the difference between functional and nonfunctional requirements
Describe the role of models in systems analysis
Identify and understand different kinds of stakeholders and their contributions to
requirements definition
Describe information-gathering techniques and determine when each is best applied
Develop activity diagrams to model workflows.
The above diagram illustrates the five systems analysis activities that make up core process
number three. By completing these activities, the analyst defines in great detail what the
information system needs to accomplish to provide the organization with the desired
benefits.
Define Requirements
System requirements include the functions the system must perform (functional
requirements) and such related issues as user interface formats and requirements for
reliability, performance, and security (non-functional requirements). As the analyst gathers
information, he or she will use that information to create models that express the user's
needs in terms of precise processing requirements. Building and refining requirements
models occupies much of the analyst’s time.
Prioritize Requirements
Once the system requirements are well understood, it is important to establish which
requirements are most crucial for the system. It is important to prioritize requirements
because resources are always limited, and the analyst must always be prepared to justify
the scope of the system. Therefore, it is important to know what is absolutely required.
Unless the analyst carefully evaluates priorities, system requirements tend to expand as
users make more suggestions (a phenomenon called scope creep). Requirements priorities
also help to determine the number, composition, and ordering of project iterations.
System Requirements
Are all activities the new system must perform or support and the constraints that the
new system must meet? It can be either Functional requirements or Non-functional
requirements.
o Functional Requirements– the activities the system must perform, it can
be business uses or functions the users carry out.
o Non-Functional Requirements - other system characteristics, like
constraints and performance goals. FURPS+ is the commonly used
framework to determine non-functional requirements. FURPS+ stands for
Functionality Usability Reliability Performance and Security. Non-
Models and the process of creating models are important to system development for the
following reasons:
Learning from the modeling process
Reducing complexity by abstraction
Remembering all of the details
Communicating with other development team members
Communicating with a variety of users and stakeholders
Documenting what was done for future maintenance/enhancement
Frequently students will disparage the need to build models. However, the modeling process
is frequently the only way that the analyst really comes to understand the user requirements
and to think through all of the “what if” processing options. Without building models, analysts
seldom dig deep enough to really understand the requirements. Also in an Agile project,
often models are quickly built, used for one of the above reasons, such as to document
some decisions or details, and then discarded after they are used to write program code.
However, even in an Agile project, it may be necessary to keep the documentation and
models in order to verify decisions that were made.
Today's object-oriented development most frequently uses the Unified Modeling Language
(UML) to build the models necessary for system development. All the diagrams in this study
guide conform to UML 2.0 specifications.
Stakeholders
Stakeholders – persons who have an interest in the successful implementation of
the system
Internal stakeholders – persons within the organization who interact with the
system or have a significant interest in its operation or success
External stakeholders – persons outside the organization’s control and influence
who interact with the system or have a significant interest in its operation or success
Operational stakeholders – persons who regularly interact with a system in the
course of their jobs or lives
Stakeholders are your primary source of information for system requirements. Stakeholders
are all the people who have an interest in the successful implementation of the system. One
useful way to help identify all the interested stakeholders is to consider two characteristics by
which they vary: internal stakeholders versus external stakeholders and operational
stakeholders versus executive stakeholders.
The client may not use the system directly, but he or she is the one who pays for the system.
In that sense, the new system must meet the client's objectives and reasons for funding the
project. The technical staff are also stakeholders because they have an oversight
responsibility to ensure that the new system meets all the operational criteria for the
organization.
Information-Gathering Techniques
One of the most important skills that a systems analyst can develop is the ability to gather
the right information so that the new system requirements are accurate and complete. There
are several methods that can be used to gather information; some are more effective and
efficient than others. The most common methods are the following:
Interviewing users and other stakeholders
Distributing and collecting questionnaires
Reviewing inputs, outputs, and documentation
Observing and documenting business procedures
Researching vendor solutions
Collecting active user comments and suggestions
Question Themes
When analysts are preparing questions, they should consider the following themes:
What Are the Business Processes? In the first question—what do you do?—the
focus is on understanding the business functions. In most cases, the users will
provide answers in terms of the current system. As an analyst, you must carefully
A difficult issue in interviewing users and other stakeholders is whether to focus the
questions around the existing system or to emphasize only on the new system. Each
project is different, and analysts must use good judgment on how much time to
spend on the old system. Analysts should remember that the only utility in reviewing
existing systems is to ensure that correct requirements are obtained for the new
system. So if the new system duplicates many of the extent business processes,
then those processes should be reviewed.
Preparing for the interview: Every successful interview requires preparation. The
first and most important step in preparing for an interview is to establish the objective
of the interview. The second step is to determine which users should be involved in
the interview. The third step is to prepare detailed questions to be used in the
interview. The last step is to make the final interview arrangements and to
communicate those arrangements to all participants.
Conducting the interview: New systems analysts are usually quite nervous about
conducting interviews. However, in most cases, the users are excited about getting a
better system to help them do their jobs. Practicing good manners usually ensures
that the interview will go well. Here are a few guidelines:
Dress appropriately.
Arrive on time.
Limit the time of the interview.
Look for exception and error conditions.
Probe for details.
Take careful notes.
Key Terms
System requirements – the activities a system must perform or support and the
constraints that the system must meet
Functional requirements – the activities that the system must perform
Non-functional requirements – system characteristics other than the activities it
must perform or support
Usability requirements – operational characteristics related to users, such as the
user interface, related work procedures, online help, and documentation
Reliability requirements – requirements that describe system dependability
Performance requirements – operational characteristics related to measures of
workload, such as throughput and response time
Security requirements – requirements that describe how access to the application
will be controlled and how data will be protected during storage and transmission
FURPS+ – an extension of FURPS that includes design constraints as well as
implementation, interface, physical, and supportability requirements
Design constraints – restrictions to which the hardware and software must adhere
Implementation requirements – constraints such as required programming
languages and tools, documentation method and level of detail, and a specific
communication protocol for distributed components
Interface requirements – required interactions among systems
Physical requirements – characteristics of hardware such as size, weight, power
consumption, and operating conditions
Supportability requirements – how a system is installed, configured, monitored,
and updated
Model – representation of some aspect of a system
Textual models – text-based system models such as memos, reports, narratives,
and lists
Graphical models – system models that use pictures and other graphical elements
Mathematical models – system models that describes requirements numerically or
as mathematical expressions
Unified Modeling Language (UML) – standard set of model constructs and
notations defined by the Object Management Group
Workflow – sequence of processing steps that completely handles one business
transaction or customer request
Activity diagram – describes user (or system) activities, the person who does each
activity, and the sequential flow of these activities
Synchronization bar – activity diagram component that either splits a control path
into multiple concurrent paths or recombines concurrent paths
Introduction
This topic describes an overview of system analysis activities, functional, non-functional
requirements, modeling and information gathering techniques. It also focuses on identifying
and modeling the key aspects of functional requirements which is the Use Case.
Learning outcomes:
After having worked through this study unit you will be able to:
Explain why identifying uses cases is the key to defining functional requirements
Write user stories with acceptance criteria
Describe the two techniques for identifying use cases
Apply the user goal technique to identify use cases
Apply the event decomposition technique to identify use cases
Describe the notation and purpose for the use case diagram
User Story
Use Case
Is an activity that the system performs, usually in response to a request by a user. Use
Cases define functional requirements. A System Analyst needs to decompose the system
into a set of use cases using the functional decomposition. The following are techniques for
identifying use cases:
Event Decomposition
Types of Events
External Event
o An event that occurs outside the system, usually initiated by an external agent
or actor for example management need certain information regarding a
certain transaction.
Temporal Event
o An event that occurs as a result of reaching a point in time for example
monthly statements to customers.
State Event
o An event that occurs when something happens inside the system that triggers
some process for example reorder point is reached for inventory item.
Consider the external events in the system environment that require a response from
the system by using the checklist shown below
For each external event, identify and name the use case that the system requires
Consider the temporal events that require a response from the system by using the
checklist shown above.
For each temporal event, identify and name the use case that the system requires
and then establish the point of time that will trigger the use case
Consider the state events that the system might respond to, particularly if it is a real-
time system in which devices or internal state changes trigger use cases.
For each state event, identify and name the use case that the system requires and
then define the state change.
When events and use cases are defined, check to see if they are required by using
the perfect technology assumption. Do not include events that involve such system
controls as login, logout, change password, and backup or restore the database, as
these are put in later.
1. Events are broader than user goal technique that is event decomposition technique
captures temporal and state events as they occur.
2. Help decompose at the right level of analysis through the use of an Elementary
Business Process (EBP)
3. EBP is a fundamental business process performed by one person, in one place, in
response to a business event
A relationship between use cases where one use case is stereotypically included
within the other use case— like a subroutine. Arrow points to subroutines
1. Identify all the stakeholders and users who would benefit by seeing a use case
diagram
2. Determine what each stakeholder or user needs to review in a use case diagram:
each subsystem, for each type of user, for use cases that are of interest
3. For each potential communication need, select the use cases and actors to show and
draw the use case diagram. There are many software packages that can be used to
draw use case diagrams like Microsoft Visio.
4. Carefully name each use case diagram and then note how and when the diagram
should be used to review use cases with stakeholders and users
Answer the following questions to check whether you have achieved all the set
outcomes:
Introduction
The focus of this study guide is to identify and define the entities or problem domain classes.
Traditional system development methodologies called these “things” data entities and used
Entity-Relationship Diagrams to model the data structure. Object-oriented techniques call
these “things” problem domain classes, or just classes for short. A UML class diagram is
used to model the data structure. Students should be familiar with both Entity-Relationship
diagrams and Class diagrams.
The first part of the chapter is a discussion to help students find, identify, and classify these
“things.”
The second part of the study unit instructs how to build an entity-relationship diagram, and
the final topic in the chapter is how to build a class diagram domain model.
Learning outcomes:
After having worked through this study unit you will be able to:
Explain how the concept of “things” in the problem domain also defines requirements
Identify and analyze data entities and domain classes needed in the system
Read, interpret, and create an entity-relationship diagram
Read, interpret, and create a domain model class diagram
Understand the domain model class diagram for the RMO Consolidated Sales and
Marketing
System
The term “problem domain” is an interesting word choice. Often when we think of problem,
we think that something is broken. However, in this context, the word problem simply means
a need that requires a business solution. In other words, system developers are developing
a solution for a business need or business problem.
Here are the steps to follow when using the brainstorming technique:
1. Identify a user and a set of use cases.
2. Brainstorm with the user to identify things involved when carrying out the use case—that
is, things about which information should be captured by the system.
3. Use the types of things (categories) to systematically ask questions about potential things,
such as those questions asked previously.
4. Continue to work with all types of users and stakeholders to expand the brainstorming list.
5. Merge the results, eliminate any duplicates, and compile an initial list. Care should be
taken to distinguish between classes and attributes.
Here are the steps to follow when using the noun technique:
1. Using the use cases, actors, and other information about the system—including inputs
and outputs—identify all nouns.
2. Using other information from existing systems, current procedures, and current reports or
forms, add items or categories of information needed.
3. As this list of nouns builds, you will need to refine it. Ask these questions about each noun
to help you decide whether you should include it:
Attributes of Things
The noun technique involves listing all the nouns that come up in discussions or documents
about the requirements. Many of these nouns are actually attributes. During the refinement
of the nouns on the list of nouns, an evaluation of each noun will determine whether the
noun is an independent item, e.g. a class, or whether it describes or characterizes another
noun and hence is an attribute. One attribute may be used to identify a specific thing, such
as a Social Security number for an employee or an order number for a purchase. The
attribute that uniquely identifies the thing is called an identifier or key.
It is also important to understand the nature of each association in terms of the number of
links for each thing. Cardinality can be one-to-one or one-to-many. The term multiplicity is
used to refer to the number of links in UML and should be used when discussing UML
models. Multiplicity is established for each direction of the association. It is important to
describe not just the multiplicity but also the range of possible values of the multiplicity (the
minimum and maximum multiplicity). These terms are referred to as multiplicity constraints.
The next sections on the notation explain more about the various combinations of cardinality
and multiplicity constraints.
Associations between two classes are called binary associations. Sometimes an association
will be between different elements in the same class or set. These are called unary
associations. Associations can also exist between multiple classes, such as three classes –
a ternary association, or some arbitrary number n-ary associations.
Sometimes it is obvious what the relationships between data entities should be. Often it is
also clear what the cardinality constraints should be. However, when it is not clear, creating
a semantic net can be helpful. A semantic net is simply a drawing of the individual data
entities showing what relationships can exist. For example in the diagram above, orders are
always only connected to one customer, but a customer will have multiple orders. It is even
possible to have a customer, such as Mary, that has not made any orders yet. A semantic
net can be useful to help define cardinality constraints.
On a class diagram, rectangles represent classes, and the lines connecting the rectangles
show the associations among classes. The domain class symbol is a rectangle with two
sections. The top section contains the name of the class, and the bottom section lists the
attributes of the class. Class names are capitalized and attributes begin with lower case.
Both use camel case notation. Later, you will learn that the design class symbol includes a
third section at the bottom for listing methods of the class; methods do not apply to problem
domain classes.
Many-to-many associations allow data objects from one class to be connected to many
objects of the associated class, and this association occurs in both directions. Sometimes
the association itself will need to have attributes associated with it. An example of where a
CourseSection will have many students and a Student will be registered in many course
sections. The student also will receive a grade for that course section. The grade cannot be
associated solely with the student, nor with the course section. The grade belongs to the
association. In other words we need to treat the CourseSection—Student association as a
class (thus an association class). (Note the troubleshooting tips for this topic. Students often
have problems identifying association classes.)
Source: www.dotnettricks.com
Whole-part relationships are used to show an association between one class and other
classes that are parts of that class. There are two types of whole-part relationships:
aggregation and composition.
Aggregation refers to a type of whole-part relationship between the aggregate (whole) and
its components (parts), where the parts can exist separately and is represented by an open
diamond.
Composition refers to whole-part relationships that are even stronger, where the parts, once
associated, can no longer exist separately, and is represented by a solid dark diamond.
Whole-part relationships— aggregation and composition—mainly allow the analyst to
express subtle distinctions about associations among classes. As with any association,
multiplicity can apply.
Key Terms
Problem domain – the specific area (or domain) of the user’s business need (or
problem) that is within the scope of the new system
Brainstorming technique – a technique to identify problem domain objects in which
developers work with users in an open group setting
Noun technique – a technique to identify problem domain objects by finding and
classifying the nouns in a dialog or description
Attributes – descriptive pieces of information about things or objects
Identifier or key – an attribute the value of which uniquely identifies an individual
thing or object
Compound attribute – an attribute that consists of multiple pieces of information but
is best treated in the aggregate
Introduction
The main objective of defining requirements in system development is understanding users’
needs, how the business processes are carried out, and how the system will be used to
support those business processes. Model building is one of the best ways for analysts to
understand the business processes and to remember what they have learned from their fact
finding activities.
This study unit explains four types of models and how they are used to capture the business
rules and processes. Three of the models extend the definitions of the use cases, and the
final model extends information about the classes. Use case related models are the “fully
developed use case description,” UML activity diagrams, and UML system sequence
diagrams (SSD). The “fully developed use case descriptions” are used to document the
context, purpose, description, conditions, and workflow of each use case. Activity diagrams
are a graphical depiction of the use case workflow and are useful in illustrating the
alternative paths through a business process. SSDs are used to document the inputs and
outputs that are passed between the user and the system during a use case. Not only do
these models document the internal steps of a use case, but the very act of developing
these models force the analyst to ask detailed questions and help improve the
understanding of the requirements.
The State machine diagram is a class related model. For some object classes in the domain
model it is necessary to understand the life cycle of individual objects. This is especially true
for business objects that can have different status conditions. A state machine diagram
documents what these status conditions are and how an object changes status condition by
transitioning from state to state.
After reading this study unit, the student should be able to:
Write fully developed use case descriptions
Develop activity diagrams to model flow of activities
Develop system sequence diagrams
Use the CRUD technique to validate Use Cases
Explain how use case descriptions and UML diagrams work together to define
functional requirements
Internally, a use case includes a whole sequence of steps to complete a business process.
Frequently, several variations of the business steps exist within a single use case. These
different flows of activities are called scenarios or sometimes use case instances. Thus, a
scenario is a unique set of internal activities within a use case and represents a unique path
through the use case.
Table 5.1 shows an example of a Use Case and a description of that use case
Usually the flow of activities is the most difficult part to develop, but also assists the analyst
and the user to understand the requirements more deeply.
A message is documented with an arrow and a message descriptor. Since a SSD is a UML
object oriented model, the syntax for the messages is similar to interaction, e.g.
programming methods, syntax that is found in various Object Oriented Programming
languages. Here is a notation for the message descriptor:
*[true/false condition] return-value: = message-name (parameter-list)
Any part of the message can be omitted. In brief, the notation components do the following:
An asterisk (*) indicates repeating or looping of the message.
Brackets [ ] indicate a true/false condition. This is a test for that message only. If it
evaluates to true, the message is sent. If it evaluates to false, the message isn’t sent.
Message-name is the description of the requested service. It is omitted on dashed-
line return messages, which only show the return data parameters.
Parameter-list (with parentheses on initiating messages and without parentheses on
return messages) shows the data that are passed with the message.
Return-value on the same line as the message (requires :=) is used to describe data
being returned from the destination object to the source object in response to the
message. A return value may also be shown as a separate return message on a
dashed line.
To show a more complex flow of activities, loop frames, opt frames, and alt frames are used.
The frame is a rectangle which encloses the messages that are part of the loop or opt or alt.
The rectangle is labeled as a loop (looping set of messages), opt (optional messages), or alt
(if-then-else messages).
Recall for a workflow diagram there are two swim lanes: the actor and the computer system.
The system boundary coincides with the vertical line between the actor's swim lane and the
computer system's swim lane. The development of an SSD based on an activity diagram
falls into four steps:
1. Identify the input messages, which are the transition arrows that cross the system
boundary.
2. Describe the message from the external actor to the system by using the message
notation described earlier. The message name should describe the service requested from
the system, such as create a customer. Include the parameters that the system will need to
carry out the requested service.
3. Identify and add any special conditions such as iteration and true/false conditions.
4. Identify and add the outputs or return values from each message.
This sequence of steps two through four are done for each message identified in step one.
One of the advantages of creating a SSD is that it helps the analyst understand and verify
not only the processing steps of the use case, but the data values that are required.
Upon completion of this activity, the analyst will have a full description of a use case, with its
workflow in an activity diagram, and good documentation of the inputs and outputs required.
Model building is a powerful tool to help analysts understand user requirements. It also
provides a comprehensive document that can be used in systems design and programming.
The transition label consists of the following syntax with three components: transition-name
(parameters, …) [guard-condition] / action-expression any of which may be empty and which
have the following meanings:
transition-name – the trigger or event that causes the transition to fire
parameters – any parameters that need to be passed to the object from the
triggering object
guard-condition – this “guards” the transition, or prohibits it from executing, even if
the trigger fires, unless the guard condition is true
action-expression – some actions that must be completed as part of the transition.
The action expression may require the input parameters.
We can extend this idea of composite states and concurrency one step further by allowing
multiple paths within a composite state. Perhaps an object has entire sets of states and
transitions—multiple paths—that are active concurrently. To document concurrent multiple
The other major area of difficulty for new analysts is to identify and handle composite states
with nested threads. Usually, the primary cause of this difficulty is a lack of experience in
thinking about concurrent behavior. The best solution is to remember that developing state
machine diagrams is an iterative behavior—more so than developing any other type of
diagram. Analysts seldom get a state machine diagram right the first time. They always draw
it and then refine it again and again.
Finally, don’t forget to ask about an exception condition—especially when there are the
words verify or check. Usually, there will be two transitions out of states that verify
something: one for acceptance and one for rejection.
Here is a list of steps that will help in developing state machine diagrams:
1. Review the class diagram and select the classes that might require state machine
diagrams.
2. For each selected class in the group, make a list of all the status conditions that can be
identified
3. Begin building state machine diagram fragments by identifying the transitions that cause
an object to leave the identified state
4. Sequence these state-transition combinations in the correct order
5. Review the paths and look for independent, concurrent paths
6. Look for additional transitions
7. Expand each transition with the appropriate message event, guard condition, and action
expression
8. Review and test each state machine diagram
Make sure states apply to that – the correct – object class
Trace the entire life cycle of the object to make sure you have all states
Handle all exception conditions as well as normal paths
Double check for concurrent paths
The top two diagrams (i.e. use case diagrams and domain class diagrams) are important
because they provide an overview or comprehensive view of the entire system. One is the
use case diagram, which in its complete form identifies all of the use cases to be
implemented. The other is the class diagram or the domain model, which provides
information about all of the data items required.
Key Terms
Use case – describes a textual model that lists and describes the processing details
for a use case
Scenarios or use case instances – unique sets of internal activities within use
cases
Post-condition – what must be true upon the successful completion of a use case
Introduction
There are two major themes in this study unit. The first major theme is about the conceptual
foundation principles of systems design. The second is about configuring and designing the
environment. The first three sections in the chapter introduce the concepts of systems
design. The first section defines design as distinct from analysis. The objective of systems
design is to define, organize, and structure the components of the final solution system that
will serve as the blueprint for construction. There are various components that need to be
designed, including items such as the application software, the database, the user interface,
the network, interfaces to external systems, and internal controls.
The second section compares analysis and design by discussing the different objectives of
analysis versus design. It also discusses the different models used for analysis and design.
Design models consist of such diagrams as package diagrams, design class diagram,
sequence diagrams, communication diagrams, database schema, and user-interface
screens. The final section with the first theme presents the six activities that support Core
Process 4, Design the application. These six activities are:
design the environment
design application architecture and software
design user interfaces, design system interfaces
design the database
design system controls and security
The second major theme in this study unit concerns the detail design of the environment. In
other words, the first design activity, design the environment, is covered within this chapter.
Various different configurations of the deployment environment are explained, including
deploying internal systems, external systems, and remote VPN systems.
Learning Objectives
After reading this study unit, the student should be able to:
Describe the difference between systems analysis and systems design
Explain each major design activity
Describe the major hardware and network environment options
Describe the various hosting services available
Describe security methods and controls
Design models
Design is a model building activity. It is the formality of the project which will
dictate the type, complexity, and depth of models.
Agile/iteration projects typically build fewer models, but models are still created
Jumping to programming without design often causes less than optimum
solutions and may require rework
The following illustrates analysis to design and implementation models:
Design activities
Design activities correspond to components of the new system
It is part of core process 4 with the following activities:
Table 6.2 contains the design activities for core process 4 and the key questions to be asked
when achieving a certain activity
Design Activities
As design decisions are made, especially at the detail level, they are derived from and
documented by the building of models. Systems design involves specifying in detail how a
system will work when using a particular technology. Each component of the final solution is
heavily influenced by the design of all the other components. Thus, systems design activities
are usually done in parallel. Each of the activities develops a specific portion of the final set
of design documents. Just as a set of building blueprints has several different documents, a
systems design package consists of several sets of documents that specify the entire
system.
Figure 6.2 illustrates the environment with various controls and security
Input controls
Prevent invalid or erroneous data from entering the system and the following controls needs
to be taken into consideration:
Value Limit Controls that is checking the range of inputs for reasonableness
Completeness Controls that is, ensuring that all the data has been entered
Data Validation Controls that is ensuring that specific data values are correct
Field Combination Controls that is ensuring that data is correct based on
relationships between fields
Output controls
To ensure that output arrives at the proper destination (for authorized eyes) and it should be
accurate, current, and complete. Examples of output controls can be:
Physical access to printers and display devices
Discarded data – protect from “dumpster diving”
Fraud Prevention
It is very critical to prevent internal fraud, embezzlement, or loss. There is a fraud triangle
which contains the following:
Opportunity
Motive
Rationalization
Data Encryption
It is a method to secure data which is stored or transmitted. Encryption alters data so that it
is unrecognizable and decryption converts encrypted data back to a readable format. There
is need for an Encryption Algorithm which is a mathematical transformation of the data. And
lastly an encryption Key is needed, which is a long data string that allows the same algorithm
to produce unique encryptions.
Secure Transactions
Secure Sockets Layer (SSL) – standard set of protocols for authentication and
authorization
Transport Layer Security (TLS) – an Internet standard equivalent to SSL
IP Security (IPSec) – Internet security protocol at a low-level transmission
Hypertext Transfer Protocol Secure (HTTPS) – Internet standard to transmit Web
pages
Key Terms
Network diagram – a model that shows how the application is deployed across
networks and computers
Architectural design – broad design of the overall system structure; also called
general design or conceptual design
Detail design – low-level design that includes the design of the specific program
details
Local area network (LAN) – a computer network in which the cabling and hardware
are confined to a single location
Client-server architecture – a computer network configuration with user’s
computers and central computers that provide common services
Client computers – the computers at which the users work to perform their
computational tasks
SECTION C
Conclusion
The units in this study guide have been arranged in an order which can help the learner to
follow from the ground upwards. It is recommended that the learner uses this book by
following the order given here. Also, the learner must remember that this book is just a guide
and other sources of reading materials may be needed. The learner is again encouraged to
work the entire example in this guide, answer all the self assessment question to enhance
the quick assimilation of the guide content
Bibliography
System Analysis and Design in Changing world by John Satzinger, Robert Jackson,
Stephen Burd 7th Edition
http://www.buzzle.com/images/diagrams/waterfall-model-diagram.jpg
http://codebetter.com/raymondlewallen/2005/07/13/software-development-life-cycle-
models/
http://www.ianswer4u.com/2011/12/spiral-model-advantages-
and.html#axzz2CGHcDHwk
http://www.ianswer4u.com/2011/12/spiral-model-advantages-and.html#ixzz2CGIBooqd
http://en.wikipedia.org/wiki/Rapid_application_development#Four_phases_of_RAD
http://istqbexamcertification.com/what-is-rad-model-advantages-disadvantages-and-
when-to- use-it/
http://searchcio-midmarket.techtarget.com/definition/Prototyping-Model
http://crackmba.com/wp-content/uploads/2012/02/Prototyping-Model_circle.jpg
http://en.wikipedia.org/wiki/Prototype
http://www.scmwise.com/project-management-steps.html
http://www.gatherspace.com/static/use_case_example.html