Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 44

SYSTEMS ANALYSIS Lesson 2: Approaches to

AND DESIGN
System Development
TOPICS:

1. System Development Life Cycle 6. Extreme Programming


2. Approaches to System Development 7. Unified Process
3. Waterfall Model 8. Agile Modeling
4. Prototype Model 9. Rapid Application Development
5. Spiral Model 10. Joint Application Development
SYSTEM DEVELOPMENT LIFE
CYCLE
 Conceptual model describes the phases involved in an information
system development project.
 Possible to complete some activities in one phase in parallel with some
activities of another phase.
 Phases are repeated as required until an acceptable system is found.
The existing system is
evaluated.

The new system


The new system
should be evaluated
requirements are
once it is up and
defined.
running.

GENERAL STEPS
OF AN SDLC
METHODOLOGY
The system is put into The proposed system
use. is designed.

The new system is


developed
Project Planning
Phase

SYSTEMS
DEVELOPMENT Maintenance
Phase
Analysis Phase

LIFE CYCLE

Implementation
Phase Design Phase
PLANNING CYCLE
1. Planning Cycle
 Process of defining clear, discrete activities and the work needed to
complete each activity within a single project.
 Primary objectives are:
1. Identify the scope of the new system.
2. Ensure that the project is feasible.
3. Develop a schedule, resource plan and budget for the remainder of
the project.
PLANNING CYCLE
 Activities:
 Define the problem.
 Confirm project feasibility.
 Produce the project schedule.
 Staff the project
 Launch the project.
ANALYSIS PHASE
 Understand and document the business needs and the processing
requirements of the new system.
 Activities:
 Gather information.
 Define system requirements
 Build prototypes for discovery of requirements.
 Prioritize requirements
 Generate and evaluate alternatives.
 Review recommendations with management.
DESIGN PHASE
 Design the solution system based on the requirements defined and
decisions made during the analysis phase.
 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
 Final system is built, tested and installed.
 Ensure that the users are all trained and that the organization is ready to
benefit as expected from use of the system.
 Activities:
 Construct software components.
 Verify and test.
 Convert data.
 Train users and document the system,
 Install the system.
MAINTENANCE PHASE
 Keep the system running productively during the years following its
initial installation.
 Upgrades or enhancements may be carried out to expand the systems
capabilities.
 Activities:
 Maintain the system.
 Enhance the system.
 Support the users.
APPROACHES TO SYSTEM
DEVELOPMENT
1. Traditional Approach
 Also known as structured system development.
 This approach has three techniques:
1. Structured analysis
2. Structured design
3. Structured programming.
 A sequence of program statements.
 A decision where one set of statements or another set statements
executes.
 A repetition of a set of statements.
APPROACHES TO SYSTEM
DEVELOPMENT
2. Object Oriented Approach
 Views an information system as a collection of interacting objects that
work together to accomplish tasks.
 System consists of objects.
 Include three techniques:

1. Object-oriented analysis (OOA)


 Defines all of the types of objects.
 Shows what user interactions are required.
APPROACHES TO SYSTEM
DEVELOPMENT
2. Object-oriented design (OOD)
 Defines all of the additional types of objects necessary to
communicate with people and devices in the system.
 Shows how the objects interact wot complete the tasks.
 Refines the definition of each type of object.
3. Object-oriented programming (OOP)
 Writing of statements using a programming language.
WATERFALL MODEL

 Describes a development method that is linear and sequential.


 Based on the metaphor that when one phase was finished, the development
proceeds on the next phase and there is no going back.
 Does not accept the expected changes and revisions that become necessary
with most projects.
 Some alternatives include joint application development (JAD), rapid
application development (RAD) and spiral model.
Requirements

Design

Implementation

WATERFALL Verification

MODEL
Maintenance
PROTOTYPE MODEL

 System development methodology in which a prototype is built, tested and


then reworked as necessary until an acceptable prototype is finally achieved
from which the complete system or product can now be developed.
 An iterative, trial-and-error process that takes place between developers and
end users.
PROTOTYPE
MODEL
ADVANTAGES OF PROTOTYPE
MODEL
 May provide the proof of concept necessary to attract funding.
 Early visibility of the prototype gives users an idea of what the final system
looks like.
 Encourages active participation among users and producer.
 Enables a higher output for user.
 Cost effective (Development cost reduced).
 Increases system development speed.
ADVANTAGES OF PROTOTYPE
MODEL
 Assists to identify any problems with the efficacy of earlier design,
requirements analysis and coding activities.
 Helps to refine the potential risks associated with the delivery of the system
being developed.
DISADVANTAGES OF
PROTOTYPE MODEL
 Possibility of causing systems to be left unfinished.
 Producer might produce a system inadequate for overall organization needs.
 User can get too involved where as the program can not be to a high
standard.
 Structure of system can be damaged since many changes could be made.
 Not suitable for large applications.
SPIRAL MODEL

 Combines the features of the prototyping model and the waterfall.


 Shows the life cycle as a spiral, starting in the center and works its way
around, over and over again until the project is complete.
 Intended for large expensive and complicated projects.
SPIRAL
MODEL
GENERAL STEPS OF
SPIRAL MODEL
1. The new system requirements are defined in details.
2. An initial design is created for the new system.
3. A first prototype of the new system is constructed from the initial design.
4. A second prototype is evolved by a fourfold procedure: (a) evaluating the fir
prototype in terms of its strengths, weaknesses and risks; (b) defining the
requirements of the second prototype; (c) planning and designing the second
prototype; (d) constructing and testing the second prototype.
GENERAL STEPS OF
SPIRAL MODEL
5. At the customer’s option, the entire project can be aborted if the risk is
deemed too great.
6. The existing prototype is evaluated in the same manner as was the previous
prototype and if necessary, another prototype is developed from it according
to the fourfold procedure outlined above.
7. The preceding steps are iterated until the customer is satisfied that the
refined prototype represents the final product desired.
GENERAL STEPS OF
SPIRAL MODEL
8. The final system is constructed based on the refined prototype.
9. The final system is completely evaluated and tested.
ADVANTAGES OF
SPIRAL MODEL
 Estimates the budget and schedule become more realistic as work
progresses because of the questions that have been raised.
 Easier to cope with the changes inherent to software development.
 Software engineers can start working on the project earlier rather than
wading through a lengthy early design process.
DRAWBACK OF
SPIRAL MODEL
 A drawback of a spiral model is that estimates of budget and time are harder
to judge at the beginning of the project since the requirements evolve
through the process.
EXTREME PROGRAMMING

 Discipline of system development that follows a specific structure that is


designed to simplify and expedite the process of developing new software.
 Developed by Kent Beck to be used with small teams of developers who
need to develop software quickly in an environment of rapidly-changing
requirements.
 Emphases on its use of two-person programming teams and having a
customer on-site during the development process.
EXTREME PROGRAMMING

 In XP, coding and testing are related parts of the same process which means
the programmers who write the code can also develop the test.
 The overall philosophy of XP is that code will be integrated into the system it
is being developed for and tested within a few hours after it has been written.
EXTREME PROGRAMMING
 Advantages of pair programming practice:
1. More and better communication among developers.
2. Higher levels of productivity.
3. Higher quality code.
4. Reinforcement of the other practices in XP such as the code and test
discipline.
 Disadvantages of pair programming practice:
1. Problems with unstable requirements.
2. No documented compromises of user conflicts.
3. Lack of an overall design specification or document.
RELEVANT PARTS OF XP THAT RELATE
TO DESIGN SPECIFICATIONS

 How planning, analysis, design and construction are all fused into a
single phase of activity.
 Its unique way of capturing and presenting system requirements and
design specifications.
UNIFIED PROCESS
 Is a software development process from Rational, a division of IBM.
 It divides the development process into four distinct phases that each involve
business modeling, analysis and design, implementation, testing, and
deployment.
 Designed to reinforce six best practices for system development that are
common to many system development methodologies. (1) Develop
iteratively (2) Define and manage system requirements (3) Use component
architectures (4) Create visual models (5) Verify quality and (6) Control
Changes.
FOUR PHASES OF UNIFIED PROCESS

1. Inception - The idea for the project is stated. The development team
determines if the project is worth pursuing and what resources will be
needed.
2. Elaboration -  The project's architecture and required resources are further
evaluated. Developers consider possible applications of the software and
costs associated with the development.
FOUR PHASES OF UNIFIED PROCESS

3. Construction- The project is developed and completed. The software is


designed, written, and tested.
4. Transition - The software is released to the public. Final adjustments or
updates are made based on feedback from end users.
AGILE MODELING
 Popularized by Scott Ambler, it is a practice-based methodology for
modeling and documentation of software based systems.
 Proposed to be a collection of values, principles and practices for modeling
software that can be applied on software development project n a more
flexible manner.
 Agile modeling core practices are:
1. Iterative and incremental modeling
2. Teamwork
3. Simplicity
4. Validation
AGILE MODELING
 Typical Agile modeling process would go like:
1. Listen for user stories from the customer.
2. Draw a logical workflow model to gain an appreciation for he business
decisions represented in the user story.
3. Create new user stories based on the logical model.
4. Develop some display prototypes. In doing so, show the customer what
sort of interface they will have.
5. Using feedback from the prototypes and the logical workflow diagrams,
develop the system until you create a physical data model.
RAPID APPLICATION
DEVELOPMENT
 Emphasizes speed of development through extensive user involvement in the
rapid, iterative and incremental construction of a series of functioning
prototypes of a system that eventually evolves into the final system.
 Consider using RAD when:
1. The team includes programmers and analysts who are experienced with it.
2. There are pressing business reasons for speeding up a portion of an
application development.
RAPID APPLICATION
DEVELOPMENT
 Consider using RAD when:
4. Working with a novel ecommerce application and the development team
believes that the business can sufficiently benefit over their competitors
from being an innovator if this application is among the first to appear on
the Web.
5. Users are sophisticated and highly engaged with the organizational goals
of the company.
RAPID APPLICATION
DEVELOPMENT
ADVANTAGES OF RAD
1. It is useful for projects in which the user requirements are uncertain or
imprecise.
2. It encourages active user and management participation which, increases end-
user enthusiasm for the project.
3. Projects have higher visibility and support because of the extensive user
involvement throughout the process.
4. Errors and omissions tend to be detected earlier in prototypes than in system
models.
5. The iterative approach is a more “natural” process because change is an
expected factor during development.
DISADVANTAGES OF RAD
1. RAD prototypes can easily solve the wrong problems since problem
analysis is abbreviated or ignored.
2. A RAD-based prototype may discourage analysts from considering other,
more useful technical alternatives.
3. The emphasis on speed can adversely impact quality because of ill-advised
shortcuts through the methodology.
JOINT APPLICATION
DEVELOPMENT
 Involves the client or end users in the design and development of an
application, through a succession of collaborative workshops called JAD
sessions.
 Developed in the late 1970s by Chuck Morris and Tony Crawford.
 Thought to lead to faster development times a create client satisfaction.
 A variation of JAD is the RAD which attempts to create an application more
quickly through strategies that include fewer methodologies and reusing
software components.
JOINT APPLICATION
DEVELOPMENT
 Allows for the simultaneous gathering and consolidating of large amounts
of information.
 It opens up a lot of scope of interpersonal conflict.

You might also like