Download Chapter 16

Document related concepts
no text concepts found
Transcript
Systems Analysis and Design in a
Changing World, Fifth Edition
17
Learning Objectives
17

Explain the foundations for the adaptive development
methodologies

List and describe the features of the Unified Process system
development methodology

List and describe the features of Agile Modeling

Compare and contrast the features of Extreme Programming
and Scrum development

Explain the importance of Model-Driven Architecture on
enterprise-level development

Describe frameworks and components, the process by which
they are developed, and their impact on system development
Systems Analysis and Design in a Changing World, 5th Edition
2
17
Overview

The IS discipline is dynamic and always changing

More complex system requirements have
necessitated a whole new set of tools

The Unified Process (UP)

Radical, adaptive approaches, including Agile
Development, Extreme Programming, and Scrum

Model-Driven Architecture for enterprise-level systems

Object frameworks and components to increase
productivity and quality
Systems Analysis and Design in a Changing World, 5th Edition
3
17
Software Principles and Practices

Ubiquitous computing is the current trend in our
society

Using computer technology in every aspect of our lives

The effort to develop current solutions is demanding

Current trends in modeling and development
processes use five important principles
Systems Analysis and Design in a Changing World, 5th Edition
4
Five Software Principles and Practices

Abstraction


Standard solutions to a given problem or templates that can be applied
to a problem
Reuse


An abstraction of something in the real world, representing a particular
set of properties
Patterns


Process of extracting core principles from a set of facts or statement
Models and modelling


17
Building standard solutions and components that can be used over and
over again
Methodologies

A process—including the rules, guidelines, and techniques—that
defines how systems are built
Systems Analysis and Design in a Changing World, 5th Edition
5
17
Adaptive Approaches to Development

Opposite end of spectrum from predictive
approaches (recall Chapter 2)

Allow for uncertainty

Use empirical controls, not predictive controls

Describe processes that are variable and
unpredictable

Monitor progress and make corrections on the fly
Systems Analysis and Design in a Changing World, 5th Edition
6
Adaptive Approaches to Development—
Characteristics

Less emphasis on up-front analysis, design, and
documentation

More focus on incremental development

More user involvement in project teams

Reduced detailed planning

17
Used for near-term work phases only

Tightly control schedules by fitting work into discrete
time boxes

More use of small work teams that are self-organizing
Systems Analysis and Design in a Changing World, 5th Edition
7
17
The Unified Process (UP)

Object-oriented system development methodology
(system development process)

Offered by Rational/IBM, UP developed by Booch,
Rumbaugh, and Jacobson

UP should be tailored to organizational and project
needs

Highly iterative life cycle

Project will be use-case driven and modeled using
UML
Systems Analysis and Design in a Changing World, 5th Edition
8
17
The Unified Process Life Cycle

UP life cycle

Includes four phases which consist of iterations

Iterations are “mini-projects”

Inception – develop and refine system vision

Elaboration – define requirements and design and
implement core architecture

Construction – continue design and implementation
of routine, less risky parts

Transition – move the system into operational mode
Systems Analysis and Design in a Changing World, 5th Edition
9
17
The Unified Process Life Cycle
Figure 17-1
Systems Analysis and Design in a Changing World, 5th Edition
10
17
UP Phases and Objectives
Figure 17-2
Systems Analysis and Design in a Changing World, 5th Edition
11
17
The UP Disciplines

UP defines disciplines used within each phase

Discipline – set of functionally related development
activities

Each iteration includes activities from all disciplines

Activities in each discipline produce artifacts –
models, documents, source code, and executables

Learning CIS/MIS means learning techniques from
these disciplines
Systems Analysis and Design in a Changing World, 5th Edition
12
17
The UP Disciplines (continued)

Six main UP development disciplines


Business modeling, requirements, design,
implementation, testing, and deployment
Three additional support disciplines

Project management, configuration and change
management, and environment
Systems Analysis and Design in a Changing World, 5th Edition
13
UP Disciplines Used in Varying Amounts in 17
Each Iteration
Figure 17-3
Systems Analysis and Design in a Changing World, 5th Edition
14
17
UP Life Cycle Model
Showing Phases, Iterations, and Disciplines
Figure 17-4
Systems Analysis and Design in a Changing World, 5th Edition
15
The Agile Development Philosophy and
Modeling

17
Agile Development Principles

A philosophy and set of guidelines for developing
software in an unknown, rapidly changing environment
agility – being able to change direction
rapidly, even in the middle of a project
 Requires

Agile Modeling Principles

A philosophy about how to build models, some of
which are formal and detailed and others are sketchy
and minimal
Systems Analysis and Design in a Changing World, 5th Edition
16
Adaptive Methodologies Using Agile
Modeling
17
Figure 17-5
Systems Analysis and Design in a Changing World, 5th Edition
17
The Agile Development Philosophy and
Values

17
Responding to change over following a plan

An agile project is chaordic – both chaotic and ordered

Individuals and interactions over processes and tools

Working software over comprehensive
documentation

Customer collaboration over contract negotiation
Systems Analysis and Design in a Changing World, 5th Edition
18
17
Agile Modeling Principles

AM is about doing the right kind of modeling at the
right level of detail for the right purposes

Use models as a means to an end instead of building
models as end deliverables

Does not dictate which models to build or how formal
to make those models

Has basic principles to express the attitude that
developers should have as they develop software
Systems Analysis and Design in a Changing World, 5th Edition
19
Agile Modeling Principles
17
Figure 17-6
Systems Analysis and Design in a Changing World, 5th Edition
20
17
Agile
Modeling
Practices
Figure 17-7
Systems Analysis and Design in a Changing World, 5th Edition
21
17
Extreme Programming (XP)

An adaptive, agile development methodology created
in the mid-1990s

Takes proven industry best practices and focuses on
them intensely

Combines those best practices (in their intense form)
in a new way to produce a result that is greater than
the sum of the parts
Systems Analysis and Design in a Changing World, 5th Edition
22
17
XP Core Values

Communication


Simplicity


In designing and implementing solutions
Feedback


In open, frequent verbal discussions
On functionality, requirements, designs, and code
Courage

In facing choices such as throwing away bad code or
standing up to a too-tight schedule
Systems Analysis and Design in a Changing World, 5th Edition
23
17
Some XP Practices

Planning


Testing


Tests are written before solutions are implemented
Pair programming


Users develop a set of stories to describe what the
system needs to do
Two programmers work together on designing, coding,
and testing
Simple designs

“KISS” and design continuously
Systems Analysis and Design in a Changing World, 5th Edition
24
17
Some XP Practices (continued)

Refactoring


Owning the code collectively


Anyone can modify any piece of code
Continuous integration


Improving code without changing what it does
Small pieces of code are integrated into the system
daily or more often
System metaphor

Guides members towards a vision of the system
Systems Analysis and Design in a Changing World, 5th Edition
25
17
Some XP Practices (continued)

On-site customer


Small releases


Produce small and frequent releases to user/customer
Forty-hour work week


Intensive user/customer interaction required
Project should be managed to avoid burnout
Coding standards

Follow coding standards to ensure flexibility
Systems Analysis and Design in a Changing World, 5th Edition
26
17
XP Core Values and Practices
Figure 17-8
Systems Analysis and Design in a Changing World, 5th Edition
27
17
XP Project Activities



System-level activities

Occur once during each development project

Involve creating user stories to planning releases
Release-level activities

Cycle multiple times – once for each release

Are developed and tested in a period of no more than a few
weeks or months
Iteration-level activities

Code and test a specific functional subset in a few days or
weeks
Systems Analysis and Design in a Changing World, 5th Edition
28
17
XP
Development
Approach
Figure 17-9
Systems Analysis and Design in a Changing World, 5th Edition
29
17
Scrum

A quick, adaptive, and self-organizing development
methodology

Named after rugby’s system for getting an out-of-play
ball into play

Responds to a current situation as rapidly and
positively as possible

A truly empirical process control approach to
developing software
Systems Analysis and Design in a Changing World, 5th Edition
30
17
Scrum Philosophy

Responsive to a highly changing, dynamic
environment

Focuses primarily on the team level


Team exerts total control over its own organization and
work processes
Uses a product backlog as the basic control
mechanism

Prioritized list of user requirements used to choose
work to be done during a Scrum project
Systems Analysis and Design in a Changing World, 5th Edition
31
Scrum Organization


Product owner

The client stakeholder for whom a system is being built

Maintains the product backlog list
Scrum master


17
Person in charge of a Scrum project
Scrum team or teams

Small group of developers

Set their own goals and distribute work among
themselves
Systems Analysis and Design in a Changing World, 5th Edition
32
17
Scrum Practices


Sprint

The basic work process in Scrum

A time-controlled mini-project

Firm 30-day time box with a specific goal or deliverable
Parts of a sprint

Begins with a one-day planning session

A short daily Scrum meeting to report progress

Ends with a final half-day review
Systems Analysis and Design in a Changing World, 5th Edition
33
17
Scrum Software Development Process
Figure 17-10
Systems Analysis and Design in a Changing World, 5th Edition
34
Project Management and Adaptive
Methodologies



17
Project time management

Smaller scope and focused on each iteration

Realistic work schedules
Project scope management

Users and clients are responsible for the scope

Scope control consists of controlling the number of
iterations
Project cost management

More difficult to predict because of unknowns
Systems Analysis and Design in a Changing World, 5th Edition
35
Project Management and Adaptive
Methodologies (continued)

Project communication management


Critical because of open verbal communication and
collaborative work
Project quality management


17
Continual testing and refactoring must be scheduled
Project risk management

High-risk aspects addressed in early iterations
Systems Analysis and Design in a Changing World, 5th Edition
36
Project Management and Adaptive
Methodologies (continued)

Project human resource management


17
Teams organize themselves
Project procurement management

Integrating purchased elements into the overall project

Verifying quality of components

Satisfying contractual commitments
Systems Analysis and Design in a Changing World, 5th Edition
37
17
Model-Driven Architecture


Model-Driven Architecture (MDA) is an OMG (Object
Management Group) initiative

Built on the principles of abstraction, modeling, reuse,
and patterns

Provides companies with a framework to identify and
classify all system development work being done in an
enterprise
MDA extracts current systems features and
information and combines them into a platform
independent model (PIM)
Systems Analysis and Design in a Changing World, 5th Edition
38
17
Model-Driven Architecture (continued)


Platform-independent model (PIM)

Describes system characteristics that are not specific
to any deployment diagram

Uses UML
Platform-specific model (PSM)


Describes system characteristics that include
deployment platform requirements
A set of standard transformations by the OMG move
a PSM to a PIM
Systems Analysis and Design in a Changing World, 5th Edition
39
17
Software
Development
and MDA
Figure 17-11
Systems Analysis and Design in a Changing World, 5th Edition
40
17
Object Frameworks

A set of classes that are designed to be reused in a
variety of programs

The classes within an object framework are called
foundation classes

Can be organized into one or more inheritance
hierarchies

Application-specific classes can be derived from
existing foundation classes
Systems Analysis and Design in a Changing World, 5th Edition
41
17
Object Framework Types

User-interface classes


Generic data structure classes


Linked lists, binary trees, and so on, and related processing
operations
Relational database interface classes


Commonly used objects within a GUI
Classes to create and perform operations on tables
Classes specific to an application area

For use in a specific industry or application type
Systems Analysis and Design in a Changing World, 5th Edition
42
17
Impact on Design and Implementation

Frameworks must be chosen early in the project

Systems design must conform to specific
assumptions about application program structure and
operation that the framework imposes

Design and development personnel must be trained
to use a framework effectively

Multiple frameworks might be required, necessitating
early compatibility and integration testing
Systems Analysis and Design in a Changing World, 5th Edition
43
17
Components

Software modules that are fully assembled and ready
to use


Have well-defined interfaces to connect them to
clients or other components


Reusable packages of executable code
Public interfaces and encapsulated implementation
Standardized and interchangeable

Updating a single component does not require
relinking, recompiling, and redistributing an entire
application
Systems Analysis and Design in a Changing World, 5th Edition
44
17
Component Standards and Infrastructure

Interoperability of components requires standards to
be developed and readily available

Components might also require standard support
infrastructure


Software components have more flexibility when they
can rely on standard infrastructure services to find
other components
Networking standards are required for components in
different locations
Systems Analysis and Design in a Changing World, 5th Edition
45
17
CORBA and COM+


CORBA (Common Object Request Broker
Architecture) is a standard for software component
connection and interaction developed by the OMG

An object request broker (ORB) provides component
directory and communication services

The Internet Inter-ORB Protocol (IIOP) is used to
communicate among objects and ORBs
Component Object Model Plus (COM+) is a standard
for software component connection and interaction
developed by Microsoft
Systems Analysis and Design in a Changing World, 5th Edition
46
17
Enterprise JavaBeans

Part of the Java programming language’s extensive
object framework (JDK)

A JavaBean can execute on a server and
communicate with clients and other components
using CORBA


A JavaBean implements the required component
methods and follows the required naming conventions
of the JavaBean standard
Platform independent
Systems Analysis and Design in a Changing World, 5th Edition
47
17
Components and the Development Life Cycle

Component purchase and reuse is a viable approach
to speeding completion of a system

Purchased components can form all or part of a newly
developed or re-implemented system

Components can be designed in-house and deployed
in a newly developed or re-implemented system
Systems Analysis and Design in a Changing World, 5th Edition
48
Using Purchased Components—
Implications

Standards and support software of purchased
components must become part of the technical
requirements definition

A component’s technical support requirements
restrict the options considered during software
architectural design
Systems Analysis and Design in a Changing World, 5th Edition
17
49
17
Monitoring System Performance

Examine component-based designs to estimate
network traffic patterns and demands on computer
hardware

Examine existing server capacity and network
infrastructure to determine their ability to
accommodate communication among components

Upgrade network and server capacity prior to
development and testing
Systems Analysis and Design in a Changing World, 5th Edition
50
Monitoring System Performance
(continued)
17

Test system performance during development and
make any necessary adjustments

Continuously monitor system performance after
deployment to detect emerging problems

Redeploy components, upgrade server capacity, and
upgrade network capacity to reflect changing
conditions
Systems Analysis and Design in a Changing World, 5th Edition
51
17
Services

New method of software reuse enabled by Internet—
external services identified and used for applications

Called Web services and service-oriented
architecture (SOA)

Microsoft .NET is service standard based on SOAP

Java 2 Web Services (J2WS) is service standard for
services in Java
Systems Analysis and Design in a Changing World, 5th Edition
52
17
Component Communication Using SOAP
Figure 17-14
Systems Analysis and Design in a Changing World, 5th Edition
53
17
Summary

Adaptive development methodologies

Unified Process (UP)

Agile Modeling and Agile Development
 Flexibility

Extreme Programming (XP)
 Tests

in an unpredictable business world
are written first; programmers work in pairs
Scrum
 Defines
a specific goal that can be completed within
four weeks
Systems Analysis and Design in a Changing World, 5th Edition
54
17
Summary (continued)

Model-Driven Architecture (MDA)


Provides techniques for large organizations to
integrate all software and all software development
across the entire enterprise
Software reuse is a fundamental approach to rapid
development

Object frameworks provide a means of reusing existing
software through inheritance

Components are units of reusable executable code
that behave as distributed objects
Systems Analysis and Design in a Changing World, 5th Edition
55