Systems Analysis and Design - leo

advertisement
Systems Analysis and Design
Unit 1
• LO1
Understand the different systems life cycles
• Assessment criteria
• AC1.1 Evaluate the different systems life cycle models
• AC1.2 Discuss the importance of following a procedural/staged life cycle in a
systems investigation
• Learning objectives
• After studying this unit, you should be able to:
•
•
•
•
•
Understand the different SDLC phases
Understand the different systems life cycle models
Identify the different systems life cycle models
Evaluate the different systems life cycle models
Explain the importance of following a procedural/staged life cycle
Information systems analysis and design
• Information systems analysis and design focus on the interaction
between related entities while developing an effective information
technology solution.
• There is no one single methodology that will ensure success during
information systems development, however,
• using tools and techniques available to us will enhance our chances
of successfully completing a systems development project.
• Example
• A library is in need of a system that will keep track of all books that
are currently booked out as well as who booked them out.
• Another example is organisations that often purchase off-the-shelf
software. Such software, however, cannot always be customised or
does not necessarily fit the needs of the organisation fully.
Components of information systems
• Information systems consist of the following components:
• Application software
• Hardware software
• System software
• Documentation and training material
• System roles and responsibilities
• System controls
• System users
• One of the aims of information systems development is to assist
understanding the software engineering process .
• This process leads to the creation of information systems.
Definition and characteristics of systems
• As stated previously, no one system can perform all functionality
required by an organisation.
• Organisations make use of various types of information
system in different departments.
• For example, a system that keeps track of student results is separate
from a system that manages lecturer payroll.
• A system involves components and business procedures that are
related in some way, and, which, when they work together, reach a
designed outcome (Valacich [et al.], 2011:3).
• There are nine characteristics of a system, namely:
1. System components/sub-systems:
•
parts that, when put together, will make up a system.
2. Inter-related system components:
•
the level to which the components rely on each other or on other parts
of a system.
3. System boundaries:
•
•
•
•
a system is developed to satisfy a set of requirements that meet a
specific organisational need.
Each system has limitations, known as ‘system boundaries’.
Simply put, to identify system boundaries, one must look at what
should be included in a system and what belongs outside such.
Everything inside a system will have to be planned, designed and
developed.
4. System purpose:
•
the main goal/function that a system will perform.
5. System environment:
•
a system exists within a specific environment; this refers to everything
external to a system that could interact with it.
6. System interface:
•
the point of contact where a system meets its environment; an interface
can also occur between sub-systems.
7. System constraints:
•
any limitation that a system might have in terms of capacity, speed or
functionality.
8. System input:
•
a system takes input from its environment to function.
9. System output:
•
a system provides output from received input and returns such to its
environment; this marks that a system is achieving its purpose.
Decomposition
• Decomposition entails breaking a system up into smaller, more
manageable components that may constitute a system by itself.
• These broken down systems are referred to as ‘sub-systems’.
• The main reason for performing decomposition is to focus on
particular parts of a system.
• Decomposition allows a systems analyst to do the following:
•
•
•
•
Break a system into smaller, more manageable sub-systems
Focus the attention on one specific area in a system
Focus on a part of a system that is relevant to a specific group of users
Build sub-systems independently from one another
Modularity
• Modularity is the result of decomposition; it refers to the
divided system pieces (modules) that exist.
• For example, looking at the components of the MP3 player, we can
see how decomposition makes it easy to understand an overall
system.
Coupling
• Coupling means that sub-systems are dependent on each other.
• If one sub-system should fail, the others will also fail or have difficulty
functioning properly.
• For example, without a battery, the MP3 player will not function at
all; without a hard drive sub-system, the MP3 player will switch on
but will not be able to store any music.
Cohesion
• Cohesion refers to the extent to which a sub-system will perform a
single function.
• For example, storing music on a hard drive refers to a single function.
The systems development life cycle (SDLC)
• The SDLC forms the basis for any information systems development
project.
• The four main phases of the SDLC will be discussed in detail in the
sections to follow.
• In order to remain competitive, a business must keep its systems up
to date.
• The SDLC refers to a process of understanding exactly how an
information system will be able to support the requirements of an
organisation.
• As each system is developed, it progresses through the specific life
cycle.
• A life cycle refers to the time from the beginning of a systems
project to the implementation and maintenance of such.
• This includes the time that the system will be operational as well as
the time needed to develop and implement such.
• How the different phases/levels relate to one another depends on
which life cycle model is used.
• Each model will employ phases, even if they are called something
different; some models might even combine phases to occur
simultaneously or add additional phases to ensure that a system’s
outcomes are met.
Phase 1: systems planning and selection
• The systems planning and selection phase begins with a formal request to
the Information Technology (IT) Department that describes a problem or
desired change that an organisation might need.
• This request is called a ‘systems request’.
• A systems request can originate from any department within an organisation
and may be very significant or small.
• The main questions answered during this phase are why a system should be
built and how the team will go about building such.
• The purpose of this phase is to perform a preliminary investigation to
identify the nature and scope of the problem or requested change.
• A very important part of this investigation is to perform a systems
feasibility study.
• Another important process is to perform a SWOT analysis: the purpose of a
SWOT
analysis is to determine the strengths (S), weaknesses (W), opportunities (O)
and threats (T) of a proposed system.
Phase 2: systems analysis
• The purpose of the systems analysis phase is to draw and build
logical models of the proposed system.
• It is concerned with discovering what the new system should be able
to do. (Requirements specification)
• At the end of this phase, a systems analyst should propose
alternative replacement systems for the given request, outlining the
requirements, costs and benefits.
Phase 3: systems design
• The purpose of the systems design phase is to create a draft of the
system that will satisfy all of the documented requirements given by
an organisation for the new system.
• During this stage, data designs, user interfaces, input and output
designs and systems architecture are identified and created.
• It is essential that the first three phases of the SDLC are understood
and correct before the construction of a system can begin.
Phase 4: systems implementation and
operation
• The system is now constructed according to the systems design
specifications.
• It is important that each section is checked to verify that it meets the
requirements as identified previously.
• Regardless of the approach being used, the method is the same:
programs are written, tested and documented.
• At the end of this phase, the system is ready for use.
• The final preparations include converting current organisational data
to the new system’s files, training users and performing the change
over to the new system.
SDLC phases
1. Systems planning and
selection
2. Systems analysis
3. Systems design
4. Systems
implementation and
operation
Products
Priorities for systems and projects
Architecture for data, networks, hardware and information
systems management
Detailed work plans for selected projects
Specifications of systems scope
Systems justification or business case
Description of current systems
General recommendations on how to fix, enhance or
replace current systems
Explanations of alternative systems and justification for
chosen alternatives
Acquisition plans for new technology
Detailed specifications of all systems elements
Coding
Documentation
Training procedures and support capabilities
New versions or releases of software with associated
updates to documentation, training and support
Waterfall Model
• The Waterfall Model is a traditional methodology based on a series
of steps that should be addressed in sequence when building
information systems.
• The order of the steps is predefined with a review at the end of each
step.
• The model requires that each step be completed before moving on to
the next step.
• Where the requirements have been well defined and the
development methods well understood, the Waterfall Model allows
for forecasting project completion times.
• Advantages
•
•
•
•
•
•
Easy to understand, easy to use
Provides structure to inexperienced staff
Milestones are well understood
Sets requirements stability
Good for management control (plan, staff, track)
Works well when quality is more important than cost or schedule
Quality
Cost
Time
• Disadvantages
•
•
•
•
All requirements must be known upfront
Deliverables created for each phase are considered frozen – inhibits flexibility
Can give a false impression of progress
Does not reflect problem-solving nature of software development –
iterations of phases
• Integration is one big bang at the end
• Little opportunity for customer to preview the system
• When to use the waterfall model:
•
•
•
•
•
Requirements are very well known
Product definition is stable
Technology is understood
New version of an existing product
Porting an existing product to a new platform
Prototyping
• Prototyping is a strategy related to information systems
development, in which a scaled-down system or portion of a system
is created in a short time, tested and improved upon in several steps.
• A prototype is an initial version of a system that is developed quickly
to test the effectiveness of the overall design being used to solve a
particular problem.
Analysis
Testing
Design
Modeling
• Advantages:
•
•
•
•
•
•
•
Customers can “see” the system requirements as they are being gathered
Developers learn from customers
A more accurate end product
Unexpected requirements accommodated
Allows for flexible design and development
Steady, visible signs of progress produced
Interaction with the prototype stimulates awareness of additional needed
functionality
• Disadvantages
• Tendency to abandon structured program development for “code-and-fix”
development
• Bad reputation for “quick-and-dirty” methods
• Overall maintainability may be overlooked
• The customer may want the prototype delivered
• Process may continue forever (scope creep)
• When to use the prototyping model
•
•
•
•
•
•
Requirements are unstable or have to be clarified
As the requirements clarification stage of a waterfall model
Develop user interfaces
Short-lived demonstrations
New, original development
With the analysis and design portions of object-oriented development
Spiral Model
• The Spiral Model is a non-linear model; it contains features from both
the Waterfall Model and prototyping.
• It adds a new element called ‘risk analysis’.
• The Spiral Model goes through all of its stages many times before a
system is released.
• Advantages
•
•
•
•
•
•
•
Provides early indication of insurmountable risks, without much cost
Users see the system early because of rapid prototyping tools
Critical high-risk functions are developed first
The design does not have to be perfect
Users can be closely tied to all life cycle steps
Early and frequent feedback from users
Cumulative costs assessed frequently
• Disadvantages
• Time spent for evaluating risks too large for small or low-risk projects
• Time spent planning, resetting objectives, doing risk analysis and prototyping
may be excessive
• The model is complex
• Risk assessment expertise is required
• Spiral may continue indefinitely
• Developers must be reassigned during non-development phase activities
• May be hard to define objective, verifiable milestones that indicate readiness
to proceed through the next iteration
When to use the spiral model
•
•
•
•
•
•
•
•
When creation of a prototype is appropriate
When costs and risk evaluation are important
For medium to high-risk projects
Long-term project commitment unwise because of potential changes to
economic priorities
Users are unsure of their needs
Requirements are complex
New product line
Significant changes are expected
Joint application development (JAD)
• JAD is a structured process, in which users, managers and systems
analysts work together for several days in a series of intensive
meetings to specify or review systems requirements.
Rapid application development (RAD)
• RAD is a team-based technique that is used to speed up the systems
development process.
• It produces a working system, which is very similar to prototyping.
• The fundamental principle of RAD is to delay producing detailed
systems design documents until user requirements are understood.
• Requirements planning phase (a workshop utilising structured
discussion of business problems)
• User description phase – automated tools capture information from
users
• Construction phase – productivity tools, such as code generators,
screen generators, etc. inside a time-box (“Do until done”)
• Cutover phase -- installation of the system, user acceptance testing
and user training
• Advantages
• Reduced cycle time and improved productivity with fewer people means
lower costs
• Time-box approach mitigates cost and schedule risk
• Customer involved throughout the complete cycle minimises risk of not
achieving customer satisfaction and business needs
• Focus moves from documentation to code (WYSIWYG).
• Uses modeling concepts to capture information about business, data, and
processes
• Disadvantages
•
•
•
•
•
Accelerated development process must give quick responses to the user
Risk of never achieving closure
Hard to use with legacy systems
Requires a system that can be modularized
Developers and customers must be committed to rapid-fire activities in an
abbreviated time frame
• When to use RAD
•
•
•
•
•
•
•
Reasonably well-known requirements
User involved throughout the life cycle
Project can be time-boxed
Functionality delivered in increments
High performance not required
Low technical risks
System can be modularised
Test your knowledge
• Toolbox activities
• Individual exercise 1
• Group exercise 1
• Research task 1
• Textbook activities
• Chapter 1: match the terms and definitions
• Chapter 1: review questions
• Chapter 1: Pine Valley Furniture case study
Test your knowledge
1. List and briefly explain the four phases of the SDLC. Draw a
diagram to illustrate the phases.
2. Identify the components of an information system.
3. Briefly describe the nine characteristics of a system.
4. Define decomposition, modularity, coupling and cohesion.
5. Differentiate between the different life cycle models.
Activity
Activity
Download