System analysis and design
description
Transcript of System analysis and design
SYSTEM ANALYS
IS AND
DESIGN
S A F A A S. Y
. DA L L O U L
INTRODUCTION
UNIT 1: INTRODUCTIONIntroductionThe SDLC Planning Analysis Design ImplementationDevelopment
MethodologiesStructured Design Waterfall methodology Parallel Development
Rapid Application Development (RAD)
Phased Development Prototyping Throwaway Prototyping
Agile DevelopmentExtreme ProgrammingSelecting the
appropriate methodology
Exercises
INTRODUCTIO
NThe systems development life cycle (SDLC) is the process of understanding how an information system (IS) can support business needs, designing the system, building it, and delivering it to users.
SDLC
SDLC Phases
Planning Analysis Design Implementation
SDLC PHASES
PHASE ONE: PLANNING
Steps: Identify opportunity Analysis feasibility Develop work plan Staff Project Control and direct
project
Focus: Why build this system? How to structure the project?
Primary Outputs: • System Request with Feasibility Study.• Project Plan
PHASE TWO: ANALYSIS
Steps:
Develop analysis strategy
Determine business requirements
Create use cases Model processes Model data
Focus: Who, what, where, and when for this system?
Primary Outputs:
• System proposal
PHASE THREE: DESIGN
Steps:
Design physical system
Design architecture Design interface Design programs Design database and
files
Focus: How will system work? Primary Outputs:
• System specification
PHASE FOUR: IMPLEMENTATION
Steps:
Construct System Install system Maintain system Post-implementation
Focus: Delivery and support of completed system Primary Outputs:
• Installed system
TRUE OR FALSESystem request is a primary output of design ( )
System specification with feasibility study is a primary output of planning ( )
System proposal is a primary output of analysis ( )
Installed system is a primary output of implementation ( )
TRUE OR FALSESystem request with feasibility study is a primary output of
design ( F )
System specification is a primary output of planning ( F )
System proposal is a primary output of analysis ( T )
Installed system is a primary output of implementation ( T )
UNIT 1: INTRODUCTIONIntroductionThe SDLC Planning Analysis Design ImplementationDevelopment
MethodologiesStructured Design Waterfall methodology Parallel Development
Rapid Application Development (RAD)
Phased Development Prototyping Throwaway Prototyping
Agile Development Extreme Programming
Selecting the appropriate methodology
Exercises
DEVELO
PMENT
METHODOLO
GIESA methodology is a formalized approach to implementing the SDLC (i.e., it is a list of steps and deliverables).
The methodology will vary depending on whether the emphasis is on businesses processes or on the data that supports the business
Structu
red Des
ign, RAD, A
gile
DEVELO
PMENT
METHODOLO
GIES
Process-centered methodologies focus first on defining the activities associated with the system
Data-centered methodologies focus first on defining the contents of the data storage containers and how the contents are organized
Structu
red Des
ign, RAD, A
gile
DEVELO
PMENT
METHODOLO
GIES
Object-oriented methodologies attempt to balance the focus between processes and data. Object-oriented methodologies utilize the Unified Modeling Language (UML) to describe the system concept as a collection of objects incorporating both data and processes.
Structu
red Des
ign, RAD, A
gile
EXAMPLE
Payrol
l Sys
tem
The open-ended rectangles in the diagram represent data storage containers
The rounded rectangles in the diagram represent activities performed
STRUCTURED DESIGN
• Structured design methodologies adopt a formal step-by-step approach to the SDLC that moves logically from one phase to the next
• Traditional structured design uses one set of diagrams to represent the processes and a separate set of diagrams to represent data .
• This category includes two methodologies waterfall and parallel methodologies.
STRUCTURED DESIGNWaterfall Methodology
With waterfall development-based methodologies, the analysts and users proceed sequentially from one phase to the next
STRUCTURED DESIGNWaterfall
Methodology
STRUCTURED DESIGNWaterfall
Methodology
Advantages:
System requirements are identified long before programming begins
Changes to the requirements are minimized as the project proceeds
STRUCTURED DESIGN
Disadvantages:
The design must be completely specified before programming begins
A long time elapses between the completion of the system proposal in the analysis phase and the delivery of the system
Waterfall Methodology
STRUCTURED DESIGNParallel
Methodology
STRUCTURED DESIGNParallel Methodology
This methodology attempts to address the long time interval between the analysis phase and the delivery of the system A general design for the entire system is performed and then the project is divided into a series of distinct subprojects.
RAPID APPLICATION DEVELOPMENT (RAD)• RAD-based methodologies adjust the SDLC phases to
get some part of the system developed quickly and into the hands of the users.
• Most RAD-based methodologies recommend that analysts use computer tools to speed up the analysis, design, and implementation phases, such as CASE (computer-aided software engineering) tools.
RAPID APPLICATION DEVELOPMENT (RAD)• One possible subtle problem with RAD-based
methodologies is managing user expectations
• In this category we will study three different methodologies Phased development, Prototyping development and Throwaway development methodologies
RAPID APPLICATION DEVELOPMENT (RAD)Phased Development
The phased development-based methodologies break the overall system into a series of versions that are developed sequentially Phased development-based methodologies have the advantage of quickly getting a useful system into the hands of the users The major drawback to phased development is that users begin to work with systems that are intentionally incomplete
RAPID APPLICATION DEVELOPMENT (RAD)Phased
Development
RAPID APPLICATION DEVELOPMENT (RAD)Prototyping
Prototyping-based methodologies perform the analysis, design and implementation phases concurrently. All three phases are performed repeatedly in a cycle until the system is completed. A prototype is a smaller version of the system with a minimal amount of features
RAPID APPLICATION DEVELOPMENT (RAD)Prototyping
RAPID APPLICATION DEVELOPMENT (RAD)Prototypi
ng
Advantage: Provides a system for the users to interact with, even if it is not initially ready for use. Disadvantage: Often the prototype undergoes such significant changes that many initial design decisions prove to be poor ones.
RAPID APPLICATION DEVELOPMENT (RAD)Throwaway Prototyping
Throwaway prototyping methodologies are similar to prototyping based methodologies.
The main difference is that throwaway prototyping IS completed during a different point in the SDLC. Has relatively thorough analysis phase.
RAPID APPLICATION DEVELOPMENT (RAD)Throwaway
Prototyping
AGILE DEVELOPMENT
• This category focuses on streamlining the SDLC by eliminating much of the modeling and documentation overhead and the time spent on those tasks.
• Projects emphasize simple, iterative application development.
• This category uses extreme programming, which is described next
AGILE DEVELOPMENTExtreme Programming
Is founded on four core values: communication, simplicity, feedback, and courage.
Key principles of XP include:
Continuous testing
Simple coding
Close interaction with the end users to build systems very quickly
AGILE DEVELOPMENTExtreme
Programming
UNIT 1: INTRODUCTIONIntroductionThe SDLC Planning Analysis Design ImplementationDevelopment
MethodologiesStructured Design Waterfall methodology Parallel Development
Rapid Application Development (RAD)
Phased Development Prototyping Throwaway Prototyping
Agile Development Extreme Programming
Selecting the appropriate methodology
Exercises
SELECTIN
G APPROPR
IATE
METHODOLO
GYSelecting a methodology is not simple, as no one methodology is always best. Many organizations have their own standards. The next figure summarizes some important methodology selection criteria
Exerc
ises
Ability to Develop systems
Structured Methodologies
RAD MethodologiesAgile
Methodologies
Waterfall
ParallelPhase
dPrototyp
ingThrowaway Prototyping
XP
With Unclear User Requirements
Poor Poor Good Excellent Excellent Excellent
With Unfamiliar Technology
Poor Poor Good Poor Excellent Poor
That are Complex Good Good Good Poor Excellent Poor
That are reliable Good Good Good Poor Excellent Good
With a short Time Schedule
Poor Good Excellent
Excellent Good Excellent
With Schedule Visibility Poor Poor Excellent
excellent Good Good
EXERCISES☺Suppose you are a project manager using the
waterfall development methodology on a large and complex project. Your manager has just read the latest article in Computerworld that advocates replacing the waterfall methodology with prototyping and comes to your office requesting you to switch What do you say?
☺Think about your ideal analyst position. Write a newspaper ad to hire someone for that position. What requirements would the job have? What skills and experience would be required? How would applicants demonstrate that they have the appropriate skills and experience?
SAFAA S.Y. DALLO
UL
S A F A A D A L L O U L . WO R D P R E S S . C
O M
Thank You