Top Banner
16 Systems Analysis and Design in a Changing World, Fourth Edition
59

16 Systems Analysis and Design in a Changing World, Fourth Edition.

Apr 02, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16Systems Analysis and Design in a Changing World, Fourth Edition

Page 2: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 2

Learning Objectives

Explain the foundations for the adaptive methodologies to development

List and describe the features of the Unified Process system development methodology

List and describe the features of Agile Modeling

Page 3: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 3

Learning Objectives (continued)

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

Page 4: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 4

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

Page 5: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 5

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

Page 6: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 6

Software Principles and Practices (continued)

Abstraction Process of extracting core principles from a set of

facts or statement

Example: Metamodels describe the characteristics of another model

Models and modeling An abstraction of something in the real world,

representing a particular set of properties

Page 7: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 7

Software Principles and Practices (continued)

Patterns

Standard solutions to a given problem or templates that can be applied to a problem

Reuse

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

Page 8: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 8

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

Page 9: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 9

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

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

Page 10: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 10

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

Page 11: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 11

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

Page 12: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 12

The Unified Process Life Cycle (Figure 16-1)

Page 13: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 13

UP Phases and Objectives (Figure 16-2)

Page 14: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 14

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

Page 15: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 15

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

Page 16: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 16

UP Disciplines Used in Varying Amounts in Each Iteration (Figure 16-3)

Page 17: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 17

UP Life Cycle Model Showing Phases, Iterations, and Disciplines (Figure 16-4)

Page 18: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 18

The Agile Development Philosophy and Modeling

Agile Development

A philosophy and set of guidelines for developing software in an unknown, rapidly changing environment

Requires agility – being able to change direction rapidly, even in the middle of a project

Agile Modeling

A philosophy about how to build models, some of which are formal and detailed and others are sketchy and minimal

Page 19: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 19

The Agile Development Philosophy and Values

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

Page 20: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 20

Adaptive Methodologies Using Agile Modeling (Figure 16-5)

Page 21: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 21

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

Page 22: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 22

Agile Modeling Principles (Figure 16-6)

Page 23: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 23

Agile Modeling Practices (Figure 16-7)

Page 24: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 24

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

Page 25: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 25

XP Core Values

Communication

In open, frequent verbal discussions

Simplicity

In designing and implementing solutions

Feedback

On functionality, requirements, designs, and code

Courage

In facing choices such as throwing away bad code or standing up to a too-tight schedule

Page 26: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 26

Some XP Practices

Planning Users develop a set of stories to describe what the

system needs to do Testing

Tests are written before solutions are implemented Pair programming

Two programmers work together on designing, coding, and testing

Simple designs “KISS” and design continuously

Page 27: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 27

Some XP Practices (continued)

Refactoring

Improving code without changing what it does

Owning the code collectively

Anyone can modify any piece of code

Continuous integration

Small pieces of code are integrated into the system daily or more often

System metaphor

Guides members towards a vision of the system

Page 28: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 28

Some XP Practices (continued)

On-site customer

Intensive user/customer interaction required

Small releases

Produce small and frequent releases to user/customer

Forty-hour work week

Project should be managed to avoid burnout

Coding standards

Follow coding standards to ensure flexibility

Page 29: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 29

XP Core Values and Practices (Figure 16-8)

Page 30: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 30

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

Page 31: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 31

XP Development

Approach (Figure 16-9)

Page 32: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 32

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

Page 33: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 33

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

Page 34: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 34

Scrum Organization

Product owner

The client stakeholder for whom a system is being built

Maintains the product backlog list

Scrum master

Person in charge of a Scrum project

Scrum team or teams

Small group of developers

Set their own goals and distribute work among themselves

Page 35: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 35

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

Page 36: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 36

Scrum Software Development Process (Figure 16-10)

Page 37: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 37

Project Management and Adaptive Methodologies

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

Page 38: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 38

Project Management and Adaptive Methodologies (continued)

Project communication management Critical because of open verbal communication

and collaborative work

Project quality management Continual testing and refactoring must be

scheduled

Project risk management High-risk aspects addressed in early iterations

Page 39: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 39

Project Management and Adaptive Methodologies (continued)

Project human resource management

Teams organize themselves

Project procurement management

Integrating purchased elements into the overall project

Verifying quality of components

Satisfying contractual commitments

Page 40: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 40

Model-Driven Architecture—Generalizing Solutions

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)

Page 41: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 41

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

Page 42: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 42

Software Development

and MDA (Figure 16-11)

Page 43: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 43

Metamodels and Transitions between PIM, PSM, and Code (Figure 16-12)

Page 44: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 44

Partial Metamodel of UML Class Diagram (Figure 16-13)

Page 45: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 45

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

Page 46: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 46

Object Framework Types

User-interface classes Commonly used objects within a GUI

Generic data structure classes Linked lists, binary trees, and so on, and related processing

operations

Relational database interface classes Classes to create and perform operations on tables

Classes specific to an application area For use in a specific industry or application type

Page 47: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 47

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

Page 48: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 48

Components

Software modules that are fully assembled and ready to use

Reusable packages of executable code

Have well-defined interfaces to connect them to clients or other components

Public interfaces and encapsulated implementation

Standardized and interchangeable

Updating a single component does not require relinking, recompiling, and redistributing an entire application

Page 49: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 49

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

Page 50: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 50

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

Page 51: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 51

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

Page 52: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 52

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

Page 53: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 53

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

Page 54: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 54

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

Page 55: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 55

Monitoring System Performance (continued)

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

Page 56: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 56

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

Page 57: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 57

Component Communication Using SOAP (Figure 16-14)

Page 58: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 58

Summary

Adaptive development methodologies

Unified Process (UP)

Agile Modeling and Agile Development

Flexibility in an unpredictable business world

Extreme Programming (XP)

Tests are written first; programmers work in pairs

Scrum

Defines a specific goal that can be completed within four weeks

Page 59: 16 Systems Analysis and Design in a Changing World, Fourth Edition.

16

Systems Analysis and Design in a Changing World, 4th Edition 59

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