Вы находитесь на странице: 1из 3

CHAPTER 2: APPROACHES TO SYSTEM DEVELOPMENT

Overview - Define business problem and scope


- Produce detailed project schedule
System development project - Confirm project feasibility
o Economic, organizational, technical,
 Planned undertaking with fixed beginning and end
resource, and schedule
 Produces desired result or product - Staff the project (resource management)
 Can be a large job with thousands of hours of effort or
- Launch project ➩ official announcement
a small one-month project

Successful development project


Activities of Analysis Phase in SDLC
 Provides a detailed plan to follow
 Organized, methodical sequence of tasks and - Gather information to learn problem domain
activities - Define system requirements
 Produces reliable, robust, and efficient system - Build prototypes for discovery of requirements
- Prioritize requirements
- Generate and evaluate alternatives
The Systems Development Lifecycle (SDLC) - Review recommendations with management

- Provides overall framework for managing


systems development process
Activities of Design Phase of SDLC
Two main approaches to SDLC
- Design and integrate the network
1. Predictive approach – assumes project can be - Design the application architecture
planned out in advance; requirements well understood - Design the user interfaces
and well defined, low technical risk - Design the system interfaces
2. Adaptive approach – more flexible, assumes project - Design and integrate the database
cannot be planned out in advance; requirements and - Prototype for design details
needs uncertain, high technical risk - Design and integrate system controls
Traditional Predictive Approach to the SDLC

1. Project planning – initiate, ensure feasibility, plan Activities of Implementation Phase of SDLC
schedule, obtain approval for project
2. Analysis – understand business needs and - Construct software components
processing requirements - Verify and test
3. Design – define solution system based on - Convert data
requirements and analysis decisions - Train users and document the system
4. Implementation – construct, test, train users, and - Install the system
install new system
5. Support – keep system running and improve

Information System Development Phases Activities of Support Phase of SDLC


1. Project planning phase  Maintain system Small
2. Analysis phase o patches, repairs, and updates
3. Design phase  Enhance system
4. Implementation phase o Small upgrades or enhancements to expand
5. Support phase
system capabilities
SDLC Models o Larger enhancements may require separate
development project
1. Waterfall model - is a cascade SDLC model, in which  Support users
development process looks like the flow, moving step o Help desk and/or support team
by step through the phases of analysis, projecting,
realization, testing, implementation, and support.
2. Iterative model - does not need the full list of
requirements before the project starts. Methodologies and Models
3. Spiral model - combines architecture and prototyping
by stages. It is a combination of the Iterative and Methodologies
Waterfall SDLC models with the significant accent on
- Comprehensive guidelines to follow for
the risk analysis.
completing every SDLC activity
4. V-shaped model - an expansion of classic waterfall
- Collection of models, tools, and techniques
model and it’s based on associated test stage for
every development stage.
Models
5. Agile model – in this model, the customer is able to
see the result and understand if he is satisfied with it - Representation of an important aspect of real
or he is not. world, but not same as real thing
- Abstraction used to separate out aspect
- Diagrams and charts
Activities of Planning Phase in SDLC - Project planning and budgeting aids
Tools and Techniques  Define what system needs to do (processing
requirements)
Tools  Define data system needs to store and use (data
requirements)
- Software support that helps create models or  Define inputs and outputs
other required project components
 Define how functions work together to accomplish
- Range from simple drawing programs to tasks
complex CASE tools to project management
 Data flow diagrams (DFD) and entity relationship
software
diagrams (ERD) show results of structured analysis
Techniques
Information Engineering (IE)
- Collection of guidelines that help analysts
 Refinement to structured development
complete a system development activity or task
 Methodology with strategic planning, data modeling,
- Can be step-by-step instructions or just general
automated tools focus
advice
 More rigorous and complete than SADT
 Industry merged key concepts from structured
development and information engineering approaches
Two Approaches to System Development into traditional approach

1. Traditional approach
- Also called structured system development Object-Oriented Approach
- Structured analysis and design technique
(SADT)  Completely different approach to information systems
- Includes information engineering (IE)  Views information system as collection of interacting
2. Object-oriented approach objects that work together to accomplish tasks
- Also called OOA, OOD, and OOP o Objects – things in computer system that
- Views information system as collection of can respond to messages
interacting objects that work together to o Conceptually, no processes, programs,
accomplish tasks data entities, or files are defined – just
objects
Traditional Approach  OO languages: Java, C++, C# .NET, VB .NET
 Object-oriented analysis (OOA)
Structured programming o Defines types of objects users deal with
o Shows use cases are required to complete
- Improves computer program quality tasks
- Allows other programmers to easily read and  Object-oriented design (OOD)
modify code o Defines object types needed to
- Each program module has one beginning and communicate with people and devices in
one ending system
- Three programming constructs (sequence, o Shows how objects interact to complete
decision, repetition) tasks
o Refines each type of object for
Top-Down Programming
implementation with specific language of
- Divides complex programs into hierarchy of environment
modules  Object-oriented programming (OOP)
- The module at top controls execution by “calling” o Writing statements in programming
lower level modules language to define what each type of object
- Modular programming does
o Similar to top-down programming
Current trends in Development (Adaptive Approaches)
- One program calls other programs to work
together as single system 1. The Unified Process (UP)
 Object-oriented development approach
 Offered by IBM / Rational
Structured Design o Booch, Rumbaugh, Jacobson
 Unified Modeling Language (UML) used primarily for
- Technique developed to provide design modeling
guidelines  UML can be used with any OO methodology
o What set of programs should be  UP defines four life cycle phases
o What program should accomplish o Inception, elaboration, construction,
o How programs should be organized into a transition
hierarchy  Reinforces six best practices
- Modules are shown with structure chart o Develop iteratively
- Main principle of program modules o Define and manage system requirements
o Loosely coupled – module is independent o Use component architectures
of other modules o Create visual models
o Highly cohesive – module has one clear o Verify quality
task o Control changes
2. Extreme Programming (XP)
 Recent, lightweight, development approach to keep
process simple and efficient
Structured Analysis
 Describes system support needed and required 5. Models, techniques, and tools make up a system
system functionality through informal user stories development methodology
 Has users describe acceptance tests to demonstrate 6. System development methodology provides guidelines
defined outcomes to complete every activity in the SDLC
 Relies on continuous testing and integration, heavy 7. System development methodologies are based on
user involvement, programming done by small teams traditional approach or object-oriented approach
8. Current trends include: Extreme Programming (XP),
Unified Process (UP), Agile Modeling, and Scrum
9. CASE tools are designed to help analysts complete
system development tasks
3. Agile Modeling
 Hybrid of XP and UP (Scott Ambler); has more models
than XP, fewer documents than UP
 Interactive and Incremental Modeling
o Apply right models
o Create several models in parallel
o Model in small increments
 Teamwork
o Get active stakeholder participation
o Encourage collective ownership
o Model with others and display models
publicly
 Simplicity
o Use simple content
o Depict models simply
o Use simplest modeling tools
 Validation
o Consider testability
o Prove model is right with code

4. Scrum
 For highly adaptive project needs
 Respond to situation as rapidly as possible
 Scrum refers to rugby game
o Both are quick, agile, and self-organizing
 Team retains control over project
 Values individuals over processes

Tools to Support System Development

 Computer-aided system engineering (CASE)


o Automated tools to improve the speed and
quality of system development work
o Contains database of information about
system called repository
 Upper CASE – support for analysis and design
 Lower CASE – support for implementation
 ICASE – integrated CASE tools
 Now called visual modeling tools, integrated
application development tools, and round-trip
engineering tools

Chapter Highlights

1. System development projects are organized around


the systems development life cycle (SDLC)
2. Some projects use a predictive approach to the SDLC,
and others use a more adaptive approach to the
SDLC
3. SDLC phases include project planning, analysis,
design, implementation, and support
4. In practice, phases overlap, and projects contain many
iterations of analysis, design, and implementation

Вам также может понравиться