`
SDLC (System Development Life Cycle)
Phases:
1. Planning
• Set project scope, develop project plan, conduct feasibility analysis
• translating strategic and organizational goals into systems development initiatives
• Aligning organizational goals and IS goals
• Critical for successful systems development effort
• Developing a competitive advantage
• Creative analysis
• New approaches to existing problems
• Critical analysis
• Unbiased, careful questioning of relationship among system elements
2. analysis
• Analyze the information needs of customers, employees, and other business stakeholders. Analyze the present system.
• Develop functional requirements
• What type of information does each business activity require?
• Format, volume, frequency, response times
• What are the information processing capabilities required?
• Input, processing, output, storage, control
Data Analysis
• System conversion
SDLC (System Development Life Cycle)
Phases:
1. Planning
• Set project scope, develop project plan, conduct feasibility analysis
• translating strategic and organizational goals into systems development initiatives
• Aligning organizational goals and IS goals
• Critical for successful systems development effort
• Developing a competitive advantage
• Creative analysis
• New approaches to existing problems
• Critical analysis
• Unbiased, careful questioning of relationship among system elements
2. analysis
• Analyze the information needs of customers, employees, and other business stakeholders. Analyze the present system.
• Develop functional requirements
• What type of information does each business activity require?
• Format, volume, frequency, response times
• What are the information processing capabilities required?
• Input, processing, output, storage, control
Data Analysis
• Data modeling
– Entity-relationship (ER) diagrams
• Activity modeling
– Data-flow diagram (DFD)
• Symbols: data-flow line, process, entity, data store
• Application flowcharts
• Grid charts
• CASE tools
3. design
• Input design, Process design, Output design
• Design technical architecture and system models
• Design style sheets, Design documents templates, Choose algorithms and data structures for
implementation, Choose technologies, Design databases.
• Focuses on supporting the interactions between end users and the computer-based applications
• Display screens, Interactive user/computer dialogues, Audio responses, Forms, documents, and reports
4. Develop
• Develop technical architecture, build databases and programs (coding)
5. Test
• Write test conditions
• Perform testing
6. Implement
• Acquisition of Hardware and Software
• Input design, Process design, Output design
• Design technical architecture and system models
• Design style sheets, Design documents templates, Choose algorithms and data structures for
implementation, Choose technologies, Design databases.
• Focuses on supporting the interactions between end users and the computer-based applications
• Display screens, Interactive user/computer dialogues, Audio responses, Forms, documents, and reports
4. Develop
• Develop technical architecture, build databases and programs (coding)
5. Test
• Write test conditions
• Perform testing
6. Implement
• Acquisition of Hardware and Software
Hardware Evaluation Factors
|
Software Evaluation Factors
|
performance
|
Quality
|
Cost
|
Efficiency
|
Reliability
|
Flexibility
|
Compatibility
|
Security
|
Technology
|
Connectivity
|
Ergonomics
|
Language
|
Connectivity
|
Documentation
|
Scalability
|
Hardware
|
Software
|
Other factors (Same as hardware evaluation factors)
|
Overall rating
|
Overall rating
|
• System conversion
• Plunge
• Parallel
• Phased
• Pilot
7. Support/Maintain
• react to changes in user needs
• keep system viable
• not the last step
the C in SDLC : stands for cycle
– Maintenance
• Post-implementation debugging
• Updates
• Adding postponed features
• react to changes in user needs
• keep system viable
• not the last step
the C in SDLC : stands for cycle
– Maintenance
• Post-implementation debugging
• Updates
• Adding postponed features
– User help
– Longest phase of system life cycle
System Development Methodologies
System Development Methodologies
The water model
- traditionally, the developers have used the waterfall model.- As
waterfall flows from the top to the bottom, the system model shows the
development process from the
top to the bottom in steps.
top to the bottom in steps.
- As
water does not rise from a lower level to a higher level, it is
presumed that once a step in the model is over, it is not required to go
back.
- This
model fits well when the changes into the requirement specifications
are not required frequently. The minor changes can be taken care of
through a maintenance process or through small design changes.
- Advantages and Disadvantages of Insourcing/SDLC (Waterfall model)
- Advantages
o State of progress clear
o Good for project management
o Engineers know their tasks
o Development is (relatively) slow and deliberate
§ Results in solid, well-constructed systems
- Disadvantages
o Difficult (expensive) to accommodate change after process is underway
o Inflexible partitioning of the project into distinct stages
§ E.g., difficult to respond to changing customer requirements
o Therefore, model is most appropriate when requirements are well-understood
The Spiral Model
The Spiral Model
• Build what you think you need
– Perhaps using the waterfall model
• Get a few users to help you debug it
– First an “alpha” release, then a “beta” release
• Release it as a product (version 1.0)
– Make small changes as needed (1.1, 1.2, ….)
• Save big changes for a major new release
– Often based on a total redesign (2.0, 3.0, …)
Some unpleasant Realities
• The waterfall model doesn’t work well
– Requirements usually incomplete or incorrect
• The spiral model is expensive
– Redesign leads to recoding and retesting
Prototyping model (RAD)
• Goal: explore requirements
– Without building the complete product
• Start with part of the functionality
– That will (hopefully) yield significant insight
• Build a prototype
– Focus on core functionality, not in efficiency
• Use the prototype to refine the requirements
• Repeat the process, expanding functionality
• An iterative approach
– Operational prototype: functioning prototype
• Accesses real data files, edits input data, makes necessary computations and comparisons, and produces real output
– Nonoperational prototype: a mock-up, or model
• Includes output and input specifications and formats
¥ The key difference between waterfall model and prototyping is that you produce a dummy system first.
¥ The dummy can be just a detailed interface; it can perform selected functions.
¥ Customer’s opinion on the dummy is incorporated for developing the final system
• Advantages of Prototyping
• Advantages of Prototyping
– encourages user participation
– helps resolve discrepancies in requirements
– gives users a feel for the final system
– helps determine feasibility
– helps sell the proposed system
• Disadvantages of Prototyping
– schedule expectations raised
– not performance under regular conditions
– may lead to lax testing and documentation
Object Oriented Development
Object Oriented Development
• Uses the object as the basic unit of systems analysis and design
• Objects combine data, and processes used on the data
• Use class and inheritance to group objects and apply common embedded procedures
• Development is iterative and incremental
• Analysis identifies objects, classes of objects, and behavior of objects.
Other Models
Other Models
• Computer-aided software engineering (CASE)
– Tools
that automate some or all steps in the SDLC. Integrated CASE tools
automate the entire SDLC; upper CASE tools automate the planning,
scoping, analysis and design steps; lower CASE tools automate the
design, implementation, and support system.
CASE FEATURES
– Diagrams
– Documentation
– Data Dictionary
– Team Coordination
– Prototyping
– Code Generation
– Reverse Engineering
CASE TOOLS
– Visio 2000 - Microsoft
– on laptops
– Visible Analyst - Visible Systems
– ER/Studio - Embarcadero
– ERWin - Computer Associates
– Oracle Designer - Oracle
– Power Designer - Sybase
• Joint Application Development (JAD)
– A
workshops that unites management, IT specialists, and knowledge workers
to define and specify the logical requirements and technical
alternatives for a proposed system.
• Enterprise Resource Planning (ERP)
– the coordinated planning of all resources involved in:
• production
• development
• selling
• servicing of goods & services
No comments:
Post a Comment