APPROACH TO SYSTEM DEVELOPMENT - e

Download Report

Transcript APPROACH TO SYSTEM DEVELOPMENT - e

APPROACH TO SYSTEM
DEVELOPMENT
SYSTEMS DEVELOPMENT LIFE CYCLE
• A project is a planned undertaking that has a
beginning and an end and that produces a
desired result or product.
• System development project describes a
planned undertaking that produces a new
information system.
• Systems development life cycle (SDLC) is the
entire process of building, deploying, using,
and updating an information system.
• There are two approaches to SDLC
– Predictive approach :an SDLC approach that
assumes the development project can be planned
and organized in advance and that the new
information system can be developed according to
the plan
• Adaptive approach: an SDLC approach that is
more flexible, assuming that the project
cannot be planned out completely in advance
but must be modified as it progresses
Traditional predictive approach
• All project planning activities are put into
phases.
• The phases are project planning, analysis,
design, implementation, and support.
• A group of activities that plan, organize and
schedule the project are usually called project
planning activities.
• The next group of activities focus on
understanding the business problem that
needs to be solved and on defining the
business requirements. This is Analysis
Activities
• The third group of activities focus on
designing a new system. This is design
activities.
• The next group of activities are necessary to build
the system, which is referred to as
implementation activities.
• These four group of activities are called phases,
and they are the elements that provide the
framework for managing the project.
• The last phase, support phase, includes the
activities needed to upgrade and maintain the
system after deploying.
• Waterfall approach is more predictive and
assumes that the various phases of a project
can be carried out and completely entirely
sequentially.
Newer Adaptive Approach to SDLC
• Spiral model is an adaptive SDLC approach
that cycles over and over again through
development activities until a project is
complete.
• It is generally considered to be the first
adaptive approach to system development.
• The life cycle is shown as a spiral, starting in
the center and working its way outward, over
and over again, until the project is complete.
• Prototype is a preliminary working model
showing some aspect of a larger system.
• Prototypes are developed in each phase.
Assignment
• Find more information on waterfall model and
spiral model.
METHODOLOGIES, MODELS, TOOLS
AND TECHNIQUES
• System Development Methodologies provide
comprehensive guidelines to follow for
completing every activity in the system
development life cycle including specific models,
tools and techniques.
• Models are representation of an important
aspect of the real world. Models used in system
development include representation of inputs,
outputs, processes, data, objects, object
interactions, location, networks, and devices etc
Some models of system components
•
•
•
•
•
•
•
Flow chart
Data flow diagram
Entity-relationship diagram
Structure chart
Use case diagram
Class diagram
Sequence diagram
Some models used to manage the
development process
•
•
•
•
PERT chart
Gantt chart
Organizational hierarchy chart
Financial analysis models
Tools
• A tool is a software support that helps create
models or other components required in the
project.
Some tools used in system
development
•
•
•
•
Project management application
Drawing/graphics application
Word processor/text editor
Computer-aided system engineering tools
(CASE)
• Integrated development environment(IDE)
• Database management application
• Code generator tool
Techniques
• A technique is a collection of guidelines that
help an analyst complete a system
development activity or task. It includes a step
by step instructions for creating a model
Some techniques used in system
development
•
•
•
•
•
Strategic planning techniques
Project management techniques
User interviewing techniques
Software testing techniques
Object oriented analysis and design
techniques
Activities of each SDLC phase
PLANNING PHASE
• The primary objectives are to identify the
scope of the new system, ensure that the
project is feasible, and develop a schedule,
resource plan, and budget for the remainder
of the project.
• The are five activities in this phase
– Define the problem
– Produce the project schedule
– Confirm project feasibility
– Staff the project
– Launch the project
Project Schedule
• Work breakdown structure (WBS) is a list of all
the individual tasks that are required to
complete the project
• PERT/CPM Chart- Project Evaluation and
Review Technique. Critical path method is a
diagram of all the tasks identified in the WBS
– Gantt Chart
Project Feasibility
• Risk management: the project management area
during which the team tries to identify potential
trouble spots that could jeopardize the success of
the project
• Economic feasibility: the analysis to compare
costs and benefits to see whether investing in the
development of a new system will be beneficial
• Organizational and cultural feasibility: Each
Company has its own culture and any new system
must be accommodated within the culture.
• Technological feasibility: A new system brings
new technology into the company. A project
management team needs to assess very
carefully the proposed technological
requirements and available expertise.
• Schedule feasibility: the development of a
project schedule always involves high risk.
• Resource feasibility: the project team must
assess the availability of resources for the
project. The primary resource consists of the
members of the team.
• The other resources include adequate
computer resources, physical facilities, and
support staff.
• If there is delay in the availability of these
resources, schedule can be affected.
Completing feasibility analysis
• Not every project is feasible
• A project that is not feasible today due to
technical difficulties, high cost or inadequate
expertise may become feasible in the future.
Staffing and launching the project
•
•
•
•
Develop a resource plan for the project
Identify and request specific technical staff
Identify and request specific user staff
Organize the project
ANALYSIS PHASE
• The primary objective of this phase is to
understand and document the business needs
and the processing requirements of the new
system. Analysis is a discovery process.
• There are six primary activities
– Gather information
– Define system requirements
– Build prototypes for discovery of requirements
– Prioritize requirements
– Generate and evaluate alternatives
– Review recommendations with management
Gather Information
• Considerable amount of information are required during
the analysis phase
• Documentation from the existing system should also be
studied carefully
• Methods of gathering information
–
–
–
–
–
–
–
Review existing reports, forms, and procedure descriptions
Conduct interviews and discussions with users
Observe and document business processes
Build prototypes
distribute and collect questionnaires
Conduct joint application design (JAD) sessions
Research vendor solutions
Review existing reports, forms, and
procedure descriptions
• Two sources of information for existing
procedures and forms
– External source to the organization-at industrywide professional organizations and at other
companies.
– Existing business documents and procedure
descriptions within the organization. It helps to
get preliminary understanding of the processes
and also used during interviews.
• Forms and reports currently being used are
requested by the analysts.
• Reviewing the documentation of existing
procedures helps identify business rules that may
not come up in the interviews
• Written procedures help discover discrepancies
and redundancies in the business processes.
• Review documentation with users to identify
errors
Conducting interviews and discussions
with users
• Interviewing stakeholders is by far the most
effective way to understand business
functions and business rules.
• It is most time-consuming and resourceexpensive option.
• Interviews require multiple sessions with each
of the users or user groups
• Three areas to conduct effective interviews
– Preparing the interview
– Conducting the interview
– Following up the interview
Observe and document business
processes
• Documenting workflows
– Work flow is the sequence of steps to process a
business transaction.
System Requirements
• The modeling process is a learning process for
an analyst.
• As the model is developed, the analyst learns
more and more about the system
• Modeling continues while information is
gathered, and the analyst continually reviews
the models with the end users to verify that
each model is complete and correct.
• The analyst studies each model, adds to it,
rearranges it, and then checks how well it fits
with other models being created.
• Modeling can continue for quite some time,
and it does not always have a defined end.
• Two types of system models are developed
• A logical model shows what the system is
required to do in great detail, without
committing to any one technology
• The focus of the model is what information
the users need, not what form it will take.
• Physical model shows how the system will
actually be implemented. The physical model
of the output would include details about
format.
• Object oriented techniques produce class
diagrams and use case diagrams
• System requirements are all of the capabilities
and constraints that the new system must
meet or specifications that define the
functions to be provided by the system.
• Two categories: functional and non functional
requirements.
• Functional requirements are the activities that
the system must perform-that is the business
uses to which the system will be applied
• The derive directly from the capabilities
identified in the planning phase.
• The new system must handle all of the
functions specified in the functional
requirements.
• Nonfunctional requirements are
characteristics of the system other than
activities it must perform or support.
• There are many different types of
nonfunctional requirements
Types of nonfunctional requirements
• Technical requirements describe operational
characteristics related to the environment,
hardware, and software of the organization.
• Performance requirements describe
operational characteristics related to
measures of workload, such as throughput
and response time.
Types of nonfunctional requirements
• Usability requirements describe operational
characteristics related to users, such as the user
interface, related work procedures, online help,
and documentation.
• Reliability requirements describe the
dependability of a system – how often a system
exhibits behaviours such as service outages and
incorrect processing and how it detects and
recovers from those problems. They are
sometimes considered a subset of performance
requirements
• Security requirements describe which users can
perform what system functions under what
condition.
• Both functional and nonfunctional system
requirements are needed for a complete
definition of a new system and both are
investigated and documented during systems
analysis.
• Functional requirements are most often
documented in graphical and textual modesl
Stakeholders
• They are all the people who have an interest
in the success of a new system
• Categories
– The users who actually use the system on a daily
base
– The clients, those who pay for and own the
system
– The technical staff, the people who must ensure
that the system operates in the computing
environment of the organization.
Users as stakeholders
• Two dimensions: horizontally and vertically
• By horizontally, the analyst must look for
information flow across business departments
or functions. For example, a new inventory
system may be affected receiving,
warehousing, sales, and manufacturing.
Individuals from each of these departments
must describe their requirements
• By vertical dimension, we mean the information
needs of clerical staff, of middle management,
and of senior executives. Each of these
stakeholders has different information requests
for the system that must be included in the
design
• Users on the vertical dimension
–
–
–
–
–
Business users
Information users
Management users
Executive users
External users
THE DESIGN PHASE
• The objective is to design the solution system
based on the requirements defined and decisions
made during the analysis.
• High level design consists of developing an
architectural structure for the software
components, database, user interface, and
operating environment.
• Low level design entails developing the detailed
algorithms and data structures that are required
for software development.
• Seven major activities
– Design and integrate the network
– Design the application architecture
– Design the user interfaces
– Design the system interfaces
– Design and integrate the database
– Prototype for design details
– Design and integrate the system controls
Implementation phase
• The final system is built, tested, and installed.
The objective is not only to produce a reliable,
fully functional information system but also to
ensure that the users are all trained and that
the organization is ready to benefit as
expected from use of the system.
• Five major activities
– Construct software components
– Verify and test
– Convert data
– Train users and document the system
– Install the system
SUPPORT PHASE
• The objective is to keep the system running
productively during the years following its
initial installation.
• Three major activities
– Maintain the system
– Enhance the system
– Support the users: help desk with knowledgeable
technicians to support
TWO APPROACHES TO SYSTEM
DEVELOPMENT
• Traditional approach
• Object oriented approach
OBJECT-ORIENTED APPROACH
• This views an information system as a
collection of interacting objects that work
together to accomplish tasks.
• The system consists of objects.
• An object is a thing in the computer system
that is capable of responding to messages.
• Object oriented programming languages
include c++, java, c#
• Object-oriented analysis defines all of the types of
objects that do the work in the system and shows
what user interactions, use cases, are required to
complete tasks.
• Object-oriented design defines all of the additional
types of objects necessary to communicate with
people and devices in the system, shows how the
object interact to complete tasks, and refines the
definition of each type of object so it can be
implemented with a specific language or
environment.
• Object-oriented programming consists of writing
statements in a programming language to define what
each type of object does.
• An object is a type of thing-a customer or an
employee.
• Identifying types of objects means classifying things.
• A classification or class represents a collection of
similar objects.
• Object oriented development uses a class diagram to
show all of the classes of objects in the system
BENEFITS OF OBJECT ORIENTED
APPROACH
• Naturalness and Reuse
– People tend to think about the world in terms of
tangible objects.
– Also because it involves classes of objects, and
many systems in the organization uses the same
objects, these classes can be used over and over
again whenever they are needed. Eg. Menus,
dialog boxes, windows, and buttons, customer,
product.
– There is less need to reinvent the wheel to create
an object
• Many systems being developed today
combine both traditional and object oriented
technology.
• Assignment
– Read on traditional approach