83
1 Lecture 4 WEB Information System Development Methodology

1 Lecture 4 WEB Information System Development Methodology

Embed Size (px)

Citation preview

Page 1: 1 Lecture 4 WEB Information System Development Methodology

1

Lecture 4

WEB Information System Development Methodology

Page 2: 1 Lecture 4 WEB Information System Development Methodology

2

Information Systems

Set of interacting components (people, procedures, technologies) that

together collect, process, store and distribute information

to support control, decision-making and management in organizations.

Page 3: 1 Lecture 4 WEB Information System Development Methodology

3

Information Systems

Key components of Information Systems

Organizations Human Technologies

Page 4: 1 Lecture 4 WEB Information System Development Methodology

4

Information Systems

Developments in In

formation and Communication technologies

Paper-based IS

Computer-based IS

WEB-based IS

Page 5: 1 Lecture 4 WEB Information System Development Methodology

5

Why IS Development Methodologies

Average completion time for IS projects: 1.5 -5 years

68% of projects overrun schedules

65% exceed budgets

75% face major redesign after initial implementation

Solution lies in better and more professional approaches to development.

Page 6: 1 Lecture 4 WEB Information System Development Methodology

6

Why IS Development Methodologies

A methodical approach to software development results in fewer defects and, therefore, ultimately provides shorter delivery times and better value.

Remember:Remember:

Goal => High qualityGoal => High quality

High quality = project timelinessHigh quality = project timeliness

Less rework!Less rework!

Page 7: 1 Lecture 4 WEB Information System Development Methodology

7

Some Terminologies

Software development methodology Software development process Software development model Software life-cycle Software process model

Page 8: 1 Lecture 4 WEB Information System Development Methodology

8

What is IS Development Methodology

A collection of procedures, techniques, tools and documentation aids which helps the system developers in their effort to implement a new information system.

Software Engineering

a “quality” focusa “quality” focus

process modelprocess model

methodsmethods

toolstools

Page 9: 1 Lecture 4 WEB Information System Development Methodology

9

IS Development Methodologies

A methodology consists of phases, themselves consisting of sub-phases, which

• help developers plan, manage, control and evaluate IS projects,

• guide developers in their choice of techniques at each stages of the projects.

Page 10: 1 Lecture 4 WEB Information System Development Methodology

10

Benefits of IS Development Methodologies

Subdivision of complex process into small tasks.

Facilitation of project management and control. Providing a framework for applying techniques. Skill specialization and division of labor Standardization, improving productivity and

quality.

Page 11: 1 Lecture 4 WEB Information System Development Methodology

11

There are a lot of process models, and many companies adopt their own, but all have very similar patterns.  The general, basic model is shown below:

The General Process Model

Page 12: 1 Lecture 4 WEB Information System Development Methodology

12

• Business requirements are gathered in this phase.   

• Who is going to use the system?  • How will they use the system?  • What data should be input into the system?  • What data should be output by the system? 

• This produces a nice big list of functionality that the system should provide, which describes functions the system should perform, business logic that processes data, what data is stored and used by the system, and how the user interface should work. 

Requirements

Page 13: 1 Lecture 4 WEB Information System Development Methodology

13

• The software system design is produced from the results of the requirements phase. 

• This is where the details on how the system will work is produced. 

• Architecture, including hardware and software, communication, software design are all part of the deliverables of a design phase.

Design

Page 14: 1 Lecture 4 WEB Information System Development Methodology

14

• Code is produced from the deliverables of the design phase during implementation, and this is the longest phase of the software development life cycle. 

• For a developer, this is the main focus of the life cycle

because this is where the code is produced. 

• Implementation my overlap with both the design and testing phases. 

• Many tools exists (CASE tools) to actually automate the production of code using information gathered and produced during the design phase.

Implementation

Page 15: 1 Lecture 4 WEB Information System Development Methodology

15

• During testing, the implementation is tested against the requirements to make sure that the product is actually solving the needs addressed and gathered during the requirements phase. 

• Unit tests and system/acceptance tests are done during this

phase. 

• Unit tests act on a specific component of the system, while system tests act on the system as a whole

Testing

Page 16: 1 Lecture 4 WEB Information System Development Methodology

16

Life-Cycle of a Software

Feasibility

Requirements

Design

Coding

Testing

Operations

Maintenance

Page 17: 1 Lecture 4 WEB Information System Development Methodology

17

Umbrella Activities

Software project management Software quality assurance Software configuration management Reusability management Risk management

Page 18: 1 Lecture 4 WEB Information System Development Methodology

18

IS Process Models

Waterfall model Evolutionary model Iterative/incremental model

Spiral model V-model Prototyping Agile software development Clean room Software Engineering Component Assembly Model Rational Unified Process

Page 19: 1 Lecture 4 WEB Information System Development Methodology

19

Waterfall model

Waterfall

• Systematic stepwise refinement of a complex problem into smaller and smaller problems.

Page 20: 1 Lecture 4 WEB Information System Development Methodology

20

Waterfall model

Requirements

definition

System andsoftware design

Implementationand unit testing

Integration andsystem testing

Operation and

maintenance• Requirements analysis and definition• System and software design• Implementation and unit testing• Integration and system testing• Operation and maintenance

Page 21: 1 Lecture 4 WEB Information System Development Methodology

21

Waterfall model

The main drawback of the waterfall model is the difficulty of accommodating change after the process is underway. One phase has to be completed before moving onto the next phase.

Page 22: 1 Lecture 4 WEB Information System Development Methodology

22

Waterfall model problems

Inflexible partitioning of the project into distinct stages makes it difficult to respond to changing customer requirements.

Therefore, this model is only appropriate when the requirements are well-understood and changes will be fairly limited during the design process.

Few business systems have stable requirements.

Page 23: 1 Lecture 4 WEB Information System Development Methodology

23

Evolutionary development

Evolutionary

• System is developed using a prototype and refined through user feedbacks.

• Changes is seen as the norm of the model.

Page 24: 1 Lecture 4 WEB Information System Development Methodology

24

Evolutionary development

Communication

Quick plan

Construction of prototype

Modeling Quick design

Delivery & Feedback

Deployment

requirements

Quickplan

ModelingQuick design

Constructionof prototype

Deploymentdelivery &feedback

Page 25: 1 Lecture 4 WEB Information System Development Methodology

25

Evolutionary development

Concurrentactivities

ValidationFinal

version

DevelopmentIntermediate

versions

SpecificationInitial

version

Outlinedescription

Page 26: 1 Lecture 4 WEB Information System Development Methodology

26

Evolutionary development

Exploratory development • Objective is to work with customers and to evolve

a final system from an initial outline specification. Should start with well-understood requirements and add new features as proposed by the customer.

Throw-away prototyping• Objective is to understand the system

requirements. Should start with poorly understood requirements to clarify what is really needed.

Page 27: 1 Lecture 4 WEB Information System Development Methodology

27

Evolutionary development

Problems• Lack of process visibility;• Systems are often poorly structured;• Special skills may be required.

Applicability• For small or medium-size interactive systems;• For parts of large systems (e.g. the user

interface);• For short-lifetime systems.

Page 28: 1 Lecture 4 WEB Information System Development Methodology

28

Iterative / incremental

Iterative Development

• System is developed in chunks of functionality.

• The overall system is developed incrementally.

Page 29: 1 Lecture 4 WEB Information System Development Methodology

29

Iterative Development

C o m m u n i c a t i o n

P l a n n i n g

M o d e l i n g

C o n s t r u c t i o n

D e p l o y m e n t

d e l i v e ry f e e d b a c k

analys is

des ign code

t es t

increment # 1

increment # 2

delivery of 1st increment

delivery of 2nd increment

delivery of nth increment

increment # n

project calendar time

C o m m u n i c a t i o nP l a n n i n g

M o d e l i n g

C o n s t r u c t i o n

De p l o y m e n t

d e l i v e r y

f e e d b a c k

analys is

des ign code

t es t

C o m m u n i c a t i o nP l a n n i n g

M o d e l i n g

C o n s t r u c t i o n

D e p l o y m e n t

d e l i v e r y

f e e d b a c k

analys is

des igncode t es t

Page 30: 1 Lecture 4 WEB Information System Development Methodology

30

Iterative Development

Advantages Generates working software quickly and early during the

software life cycle. More flexible – less costly to change scope and requirements. Easier to test and debug during a smaller iteration. Easier to manage risk because risky pieces are identified and

handled during its iteration. Each iteration is an easily managed milestone.

Disadvantages Each phase of an iteration is rigid and do not overlap each

other. Problems may arise pertaining to system architecture because

not all requirements are gathered up front for the entire software life cycle.

Page 31: 1 Lecture 4 WEB Information System Development Methodology

31

Spiral model

Riskanalysis

Riskanalysis

Riskanalysis

Riskanalysis Proto-

type 1

Prototype 2

Prototype 3Opera-tionalprotoype

Concept ofOperation

Simulations, models, benchmarks

S/Wrequirements

Requirementvalidation

DesignV&V

Productdesign Detailed

design

Code

Unit test

IntegrationtestAcceptance

testService Develop, verifynext-level product

Evaluate alternatives,identify, resolve risks

Determine objectives,alternatives and

constraints

Plan next phase

Integrationand test plan

Developmentplan

Requirements planLife-cycle plan

REVIEW

Page 32: 1 Lecture 4 WEB Information System Development Methodology

32

V-Model

Page 33: 1 Lecture 4 WEB Information System Development Methodology

33

Web Design and Development

Page 34: 1 Lecture 4 WEB Information System Development Methodology

34

Developments in Information Systems:

Information systems are entering a new phase, moving beyond the traditional automation of routine organizational processes and towards the existing of critical tactical and strategic enterprise processes.

Development of such systems needs to concentrate on organizational aspects , delivering systems that are closer to the culture of organizations and the wishes of individuals.

Page 35: 1 Lecture 4 WEB Information System Development Methodology

35

Where are we with web application design methods?

• It’s a relatively new area, most significant work only emerged from 1993 onwards

• Very much in the infancy stages• No one solid method has emerged• Few approaches have been severely tested• We have most methods and technique components

we need in existence for a web method, in almost all cases though they have just not been integrated

• So, currently we need to work around the issue by forming ‘hybrid’ methods that share and borrow techniques

Page 36: 1 Lecture 4 WEB Information System Development Methodology

36

Web Methodology Disciplines

Web Engineering

Hypertext

InformationEngineering

RequirementsEngineering

System Analysisand Design

Multimedia

Human-ComputerInteraction

Testing

Project Management

SoftwareEngineering

Modellingand Simulation

Page 37: 1 Lecture 4 WEB Information System Development Methodology

37

Special features of Web Projects

Network intensiveness Concurrency Unpredictable load Performance. Availability Data driven. Content sensitive. Continuous evolution Immediacy Security Aesthetics

Page 38: 1 Lecture 4 WEB Information System Development Methodology

38

Alternatives for WEB IS acquisition

In-house development Outsourcing

• Development of IS• Application service providers

Page 39: 1 Lecture 4 WEB Information System Development Methodology

39

A strategy to Web IS development

Introduce WISDM to • offer a methodology for the socio-technical view;• illustrate a socio-technical framework.

Use the RUP as powerful generic framework that can be flexibly taylored and extended by special techniques to suit the particular project.

Introduce various techniques to complement RUP activities in order to better address the specific features of Web-IS such as• User-orientation, broad view on requirements, specific

architectural patterns, graphic design, navigation, etc.

Page 40: 1 Lecture 4 WEB Information System Development Methodology

40

The Multiview Approach and WISDM

Multiview‘s fundamental assumption: An IS methodology that relies overmuch on an engineering approach and technical rationality is, by itself, an insufficient foundation for IS development.

Foundations of Multiview: Needs of computer artefacts, organizations and individuals need to be considered jointly!

Major concern of Multivies: Negotiation between technological, organizational, and human aspects of IS development.

Page 41: 1 Lecture 4 WEB Information System Development Methodology

41

WISDM

IS DEVELOPMENT METHODS

CHANGE AGENTSMultiple perspectives:•Technical (T)•Organizational (O)•Personal (P)

SITUATION

History

Would-be developers of an information system

WISDM - Web IS Development Methodology(emergent)

Page 42: 1 Lecture 4 WEB Information System Development Methodology

42

WISDM as emerging methodology from the Multiview framework

Situation Developers

TechnologyOrganisationHumans

WorkDesignUsersatisfaction

TechnicalDesign

Softwaremodel

HCI

User interface

OrganizationalAnalysisValue creation(human activity systems)

InformationAnalysis

Requirementsspecification

SO

CIO

TE

CH

NIC

AL

ANALYSIS

DESIGN

Page 43: 1 Lecture 4 WEB Information System Development Methodology

43

WISDM Methods matrix and role of the analyst

There is no a priori ordering of the five apects of the WISDM matrix

Essential aspect: Analyst works on the joint basis of the three (T, O, P) perspectives.

Page 44: 1 Lecture 4 WEB Information System Development Methodology

44

Organizational Analysis

WorkDesignUsersatisfaction

TechnicalDesign

Softwaremodel

HCI

User interface

OrganizationalAnalysisValue creation(human activity systems)

InformationAnalysis

Requirementsspecification

SO

CIO

TE

CH

NIC

AL

ANALYSIS

DESIGN

Page 45: 1 Lecture 4 WEB Information System Development Methodology

45

Organizational Analysis

Business (strategy)• What business is the Organization in?

• What are the products and services? Products and services

• What are the sources of revenue?

• What are the benefits to the business actors? Who are the customers? Who are the competitors? Marketing strategy (How to compete)

• What is the organization’s marketing strategy?

Page 46: 1 Lecture 4 WEB Information System Development Methodology

46

Work design

WorkDesignUsersatisfaction

TechnicalDesign

Softwaremodel

HCI

User interface

OrganizationalAnalysisValue creation(human activity systems)

InformationAnalysis

Requirementsspecification

SO

CIO

TE

CH

NIC

AL

ANALYSIS

DESIGN

Page 47: 1 Lecture 4 WEB Information System Development Methodology

47

Sociotechnical design

Foundation: Genuine participation:involves users, managers, developers, and others who influence each other‘s plans policies and decisions, thus affecting future outcomes.

Measure user satisfaction and quality.

Page 48: 1 Lecture 4 WEB Information System Development Methodology

48

Quality workshop, WebQualCategory WebQual 4.0 Questions

Usability

Information

Service Interaction

Overall

1. I find the site easy to learn to operate2. My interaction with the site is clear and understandable3. I find the site easy to navigate4. I find the site easy to use5. The site has an attractive appearance6. The design is appropriate to the type of the site7. The site conveys a sense of competency8. The site creates a positive experience for me9. Provides accurate information10. Provides believable information11. Provides timely information12. Provides relevant information13. Provides easy to understand information14. Provides information at the right level of detail15. Presents the information in an appropriate format16. Has a good reputation17. It feels safe to complete transactions18. My personal information feels secure19. Creates a sense of personalization20. Conveys a sense of community21. Makes it easy to communicate with the organization22. I feel confident that goods/services will be delivered as promised23. My overall view of this website

(Vidgen, Tab. 7-4)

Page 49: 1 Lecture 4 WEB Information System Development Methodology

49

Quality workshop, WebQual

Page 50: 1 Lecture 4 WEB Information System Development Methodology

50

Technical Development

WorkDesignUsersatisfaction

TechnicalDesign

Softwaremodel

HCI

User interface

OrganizationalAnalysisValue creation(human activity systems)

InformationAnalysis

Requirementsspecification

SO

CIO

TE

CH

NIC

AL

ANALYSIS

DESIGN

Page 51: 1 Lecture 4 WEB Information System Development Methodology

51

Information Analysis

Elements of the analysis model• Data model• Flow model• Class model• Behavior model

Page 52: 1 Lecture 4 WEB Information System Development Methodology

52

Technical Design

Elements of the design model• Data design• Architectural design• Component design• Interface design• Aesthetic design• Navigation design

Page 53: 1 Lecture 4 WEB Information System Development Methodology

53

The Rational Unified Process RUP is an iterative software development process framework

created by the Rational Software Corporation, a division of IBM since 2002.

It has an underlying object-oriented model, using Unified Modeling Language (UML).

RUP is based on a set of six key principles:• Adapt the process • Balance stakeholder priorities • Collaborate across teams • Demonstrate value iteratively • Elevate the level of abstraction • Focus continuously on quality

Page 54: 1 Lecture 4 WEB Information System Development Methodology

54

Rational Unified Process Model

Phase iteration

Inception Elaboration Construction Transition

Inception : Establish the business case for the system. Elaboration : Develop an understanding of the problem

domain and the system architecture. Construction : System design, programming and testing. Transition : Deploy the system in its operating environment.

Page 55: 1 Lecture 4 WEB Information System Development Methodology

55

RUP Phases

• Inception is concerned with determining the scope and purpose of the project;

• Elaboration focuses requirements capture and determining the structure of the system;

• Construction's main aim is to build the software system;

• Transition deals with product installation and rollout.

Page 56: 1 Lecture 4 WEB Information System Development Methodology

56

Size of square relative to time spent on workflows

Inception Elaboration Construction Transition

Project Phases

1 2 3 4 5 6 7 8Iterations within each phase

Requirements

Design

Implementation

Test

Workflows

RUP Phases

Page 57: 1 Lecture 4 WEB Information System Development Methodology

57

SampleUP Disciplines

Business Modeling

Requirements

Design

Implementation

...

incep-tion

elaboration constructiontransi-

tion

...

RUP Phases

Page 58: 1 Lecture 4 WEB Information System Development Methodology

58

RUP Phases

software increment

Release

refactoring

business analysis formulation

iteration plan

analysis model content iteration function configuration

design model content architecture navigation interface

coding component test

acceptance test customer use

customer evaluation

Page 59: 1 Lecture 4 WEB Information System Development Methodology

59

6 UP Best Practices that particularly apply to web-based systems

Develop iteratively Manage and trace requirements Utilize component architectures Model visually Verify quality Control changes

Page 60: 1 Lecture 4 WEB Information System Development Methodology

60

WUP – Complementing the RUP

For each phase:

Inputs for each phase and iteration of the RUP

UP–activities Web–specific activities

Page 61: 1 Lecture 4 WEB Information System Development Methodology

61

WUP – Initial tasks

Discuss the topic of your web application and corresponding visions with stakeholders.

Decide which techniques/views (from the RUP or web-specific) may be useful in your special case.

Make a gross plan for the whole development cycle. Make a detailed plan for the next phase. Keep to RUP‘s phase structure and workflows but

vary the specific techniques and views found relevant.

Page 62: 1 Lecture 4 WEB Information System Development Methodology

62

Technical Development

User requirements

System Model

• Use Case diagram • Activity diagram• Interaction Diagrams

• Sequence diagram • Collaboration diagram

• Class diagram • State diagram • Component diagram • Deployment diagram

An Object-Oriented Technique (UML)

Page 63: 1 Lecture 4 WEB Information System Development Methodology

63

Technical Development

Page 64: 1 Lecture 4 WEB Information System Development Methodology

64

Unified Modeling Language (UML)

Object Oriented Analysis and Design

The Unified Modeling Language (UML) is a standard  language for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modeling and other non-software systems.

Page 65: 1 Lecture 4 WEB Information System Development Methodology

65

Use Case Diagram

• A use case is a set of scenarios that describing an interaction between a user and a system. 

• A use case diagram displays the relationship among actors and use cases. 

• The two main components of a use case diagram are use cases and actors.

Page 66: 1 Lecture 4 WEB Information System Development Methodology

66

Use Case Diagram

Page 67: 1 Lecture 4 WEB Information System Development Methodology

67

Sequence Diagrams

Interaction diagrams model the behavior of  use cases by describing the way groups of objects interact to complete the task.  The two kinds of interaction diagrams are sequence and collaboration diagrams. They demonstrate how the objects collaborate for the behavior. 

Page 68: 1 Lecture 4 WEB Information System Development Methodology

68

Sequence Diagrams

Page 69: 1 Lecture 4 WEB Information System Development Methodology

69

Sequence Diagram

Page 70: 1 Lecture 4 WEB Information System Development Methodology

70

Collaboration Diagram

Page 71: 1 Lecture 4 WEB Information System Development Methodology

71

Collaboration Diagram

Page 72: 1 Lecture 4 WEB Information System Development Methodology

72

Class Diagrams

Class diagrams are widely used to describe the types of objects in a system and their relationships.  Class diagrams model class structure and contents using design elements such as classes, packages and objects

Page 73: 1 Lecture 4 WEB Information System Development Methodology

73

Class Diagrams

Page 74: 1 Lecture 4 WEB Information System Development Methodology

74

State Diagrams

• State diagrams are used to describe the behavior of a system. 

• State diagrams describe all of the possible states of an object as events occur. 

• Each diagram usually represents objects of a single class and track the different states of its objects through the system. 

Page 75: 1 Lecture 4 WEB Information System Development Methodology

75

State Diagrams

Page 76: 1 Lecture 4 WEB Information System Development Methodology

76

Activity Diagrams

• Activity diagrams describe the workflow behavior of a system. 

• Activity diagrams are similar to state diagrams because activities are the state of doing something. 

• The diagrams describe the state of activities by showing the sequence of activities performed. 

• Activity diagrams can show activities that are conditional or parallel.

Page 77: 1 Lecture 4 WEB Information System Development Methodology

77

Activity Diagrams

Page 78: 1 Lecture 4 WEB Information System Development Methodology

78

Deployment Diagrams

  

• The deployment diagram contains nodes and connections. 

• A node usually represents a piece of hardware in the system. 

• A connection depicts the communication path used by the hardware to communicate and usually indicates a method such as TCP/IP.

Page 79: 1 Lecture 4 WEB Information System Development Methodology

79

• The diagram shows two nodes which represent two machines communicating through TCP/IP. 

• Component2 is dependant on component1, so changes to component 2 could affect component1.

• The diagram also depicts component3 interfacing with component1. 

Combined deployment and component diagram

Page 80: 1 Lecture 4 WEB Information System Development Methodology

80

Software Requirement Specification (example)

TABLE OF CONTENTSExecutive SummaryI. PROJECT SCOPEII. REQUIREMENTS DEFINITION

2.1 END-USER BUSINESS FUNCTIONALITY2.2 USE-CASES FUNCTIONALITY2.3 WORKFLOWS/BUSINESS PROCESSES2.4 NON-FUNCTIONAL REQUIREMENTS2.5 DERIVED AND IMPLICITE REQUIREMENTS2.6 INTERFACE REQUIREMENTS2.7 REQUIREMENTS SPECIFICATIONS

Page 81: 1 Lecture 4 WEB Information System Development Methodology

81

Design Document (example)

TABLE OF CONTENTSExecutive Summary IV1. INTRODUCTION2. DESIGN OF THE FOOD SYSTEM

2.1 Modular Structure of the System2.2 Menu Structures2.3 Modules detailed design

2.3.1 Create Class (Module 1.2.1)2.3.2 Update Class (Module 1.2.2)…..

2.4 System Topology2.5 Solutions for additional Requirements

2.6.1 Error handling2.6.2 Database catalog design2.6.3 Connections to other systems

2.6 Data dictionary3. INTERFACE DESIGN4. CONCLUSION

Page 82: 1 Lecture 4 WEB Information System Development Methodology

82

Web Design Pyramid

Interface design

Aesthetic design

Content design

Navigation design

Architecture design

Component design

user

technology

Page 83: 1 Lecture 4 WEB Information System Development Methodology

83

End of Lecture 4