33
8th EWSPT Software Process for Software Process for Electronic Commerce Portal Electronic Commerce Portal Systems Systems Volker Gruhn 1 , Lothar Schöpe 2 1 Department of Computer Science, University of Dortmund 2 Informatik Centrum Dortmund, e.V.

8th EWSPT Software Process for Electronic Commerce Portal Systems Volker Gruhn 1, Lothar Schöpe 2 1 Department of Computer Science, University of Dortmund

Embed Size (px)

Citation preview

8th EWSPT

Software Process for Electronic Software Process for Electronic Commerce Portal SystemsCommerce Portal Systems

Volker Gruhn1,

Lothar Schöpe2

1 Department of Computer Science, University of Dortmund2 Informatik Centrum Dortmund, e.V.

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 2 -

HypothesisHypothesis

Software processes for e-Business / e-Commerce applications differ from traditional software processes (for information systems)

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 3 -

Experience: Experience: A Portal for Insurance AgentsA Portal for Insurance Agents• combines and integrates

• content and applicationsto support the agents' work

• to increase• productivity, company loyalty

• built using an adaptedsoftware development process

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 4 -

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 5 -

An adapted EC software development process is needed

Needed changes:• New roles, activities,

tools- Content Managers- GUI Specialists- Performance Planner- Security Expert- Integration Expert

• New approaches- Technical (OO, CBD)- Communication

• New strategies for dealing with shorter time to market- e.g. bifocal approach

Idiosyncrasies of EC software development not covered by most software development processes

Idiosyncrasies:• System integration crucial• User interfaces play

important role• Performance considerations

pivotal• Systematic content

management needed• Time pressure high• Very distributed process

Basis for experience is the development ofan EC portal system

Application Domain:• B2E• Extranet provided by

insurance company to support agents in daily work

Technical Features:• Integrates heterogeneous

applications• Built on distributed OO

Architecture

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 6 -

Causes

• Many heterogeneous new systems• Potentially short lifetime of systems• Many new technologies

System

Integration

• Few standards• Guides users• Influences performance• Outsourcing factor

User

Interface

Design

• “Up-to-date” factor• Rapidly changing content• Outsourcing / customer factor

Content

Management

Adaptation

• Early integration plan• Cut-through-prototypes

for system selection• Incremental testing

• Cooperate with experts• Plan for easy changes• Horizontal prototypes

• Appoint Content Mgr.• Start selection early• Plan for easy changes

IdiosyncrasiesIdiosyncrasies

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 7 -

Causes

• First mover advantage• Early estimates difficult but needed• Long runner advantage• Quality requirement unchanged

Time To Market

Paradox

IdiosyncrasiesIdiosyncrasies

• Many roles with highly diverse and specialized qualifications

• Qualifications not found in one firm

Distributed

Process

Adaptation

• Cut-through prototypes again

• Bifocal approach• Keep QM in mind

• Take partner selection into account

• Distributed collaboration

• 8 second rule• Peculiarities in customer behaviour

(burstiness / heavy tails)

Performance • Workload forecasting• Performance modelling• Perform ongoing tests

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 8 -

Software Process ModelSoftware Process Model

SubprocessModel

Deliverable

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 9 -

Software Process ModelSoftware Process Model

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 10 -

Requirements SpecificationRequirements Specification

Req ID Requirement Priority Type RationaleEP-F/1.2.3 All shop items must be

accessible via aproduct hierarchy.

1 MUST Users are familiar withthe concept of ahierarchy and can finditems there easily.

EP-F/1.2.4 A full text search maybe provided to findproducts.

3 MAY The search facilityserves as a backup incase the user can't findan item in the hierachy.

• cooperation with insurance companies

• comprehensive tasks singular actions

• prioritized and documented:

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 11 -

Software Process ModelSoftware Process Model

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 12 -

M a k e o r B u y ?

Subsystem IdentificationSubsystem Identification

OfficeContent

ManagementElectronic

ProcurementComm Admin

LegacyApplications

e-MailFolders

AddressBook

Calendar

To-DoList

ProductPortfolio

CompanyHandbook

MarketingInformation

LawDocuments

OfficeMaterial

(Toner, ...)

PromotionalMaterial

(Flyers, ...)

CompanyServices

(Courses, ...)

SendingReminders,Messages,

etc.

byFaxSMS

e-Mail

UserManagement

Monitoring

PartnerDatabase

ContractsDatabase

TariffComputer

Search

Portal-wideFull TextSearches

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 13 -

M a k e o r B u y ?

Subsystem IdentificationSubsystem Identification

OfficeContent

ManagementElectronic

ProcurementComm Admin

LegacyApplications

e-MailFolders

AddressBook

Calendar

To-DoList

ProductPortfolio

CompanyHandbook

MarketingInformation

LawDocuments

OfficeMaterial

(Toner, ...)

PromotionalMaterial

(Flyers, ...)

CompanyServices

(Courses, ...)

SendingReminders,Messages,

etc.

byFaxSMS

e-Mail

UserManagement

Monitoring

PartnerDatabase

ContractsDatabase

TariffComputer

SmartStore Partner DBOutlook pirobase sendfax, yaps,JavaMail

Search

Portal-wideFull TextSearches

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 14 -

Software Process ModelSoftware Process Model

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 15 -

Cut-Through PrototypesCut-Through Prototypes

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 16 -

Cut-Through PrototypesCut-Through Prototypes

OfficeContent

ManagementElectronic

ProcurementCommuni-

cationLegacy

ApplicationsExternal

Subsystems

Internet Portal System for Insurances (IPSI)Core

System

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 17 -

Cut-Through PrototypesCut-Through Prototypes

OfficeContent

ManagementElectronic

ProcurementCommuni-

cationLegacy

ApplicationsExternal

Subsystems

Internet Portal System for Insurances (IPSI)Core

System

? ? ? ? ?Adaptors

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 18 -

Cut-Through PrototypesCut-Through Prototypes

OfficeContent

ManagementElectronic

ProcurementCommuni-

cationLegacy

ApplicationsExternal

Subsystems

Internet Portal System for Insurances (IPSI)Core

System

? ? ? ? ?

• Q: Subsystem integration feasible?• A: Adaptor prototypes implementing key features

AdaptorsIs it connectable?How is it connectable?

What implications are there?

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 19 -

Software Process ModelSoftware Process Model

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 20 -

GUI DevelopmentGUI Development

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 21 -

GUI DesignGUI Design

• Extensible layout• Formatters for

different media• Customized libraries

of GUI elements

• Control flow charts• Identification of

controller/formatter classes

Dispatcher

FormatterFormatterFormatterControllerControllerController

SubsystemSubsystemSubsystem

BasicElements

BasicElements

Basic GUIElements

IPSI-specificElements

HTML Page /WML Deck

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 22 -

Software Process ModelSoftware Process Model

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 23 -

System ArchitectureSystem Architecture

Office

ContentManagement

ElectronicProcurement

LegacyApplication

Comm

Workflow

Search

Admin

Controllers

HTML Page/WML Deck

DispatcherGUI

Formatter

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 24 -

Software Process ModelSoftware Process Model

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 25 -

RealiziationRealiziation

• Distributed implementation• Subsystems on different machines• Middleware: CORBA• Code distribution: CVS

• Languages• Java• Visual C++

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 26 -

1*

1

1..*

1

1..*

1

1..*

1

1

1

1

1 1

SubsystemFacade

LegacySubsystemFacade

+versionId:String

+logoutUser:void

+search:SearchResultSet

+queryByPostalCode:QueryByPostalCode

+queryByEnteredDate:QueryByEnteredDate

+queryByContractCategory:QueryByContractCategory

+queryByTimePeriod:QueryByTimePeriod

versionString:String

name:String

searchKeys:Vector

SearchResult

Customer

+versionId:String

-personalNumber:int

-customerNumber:int

-personalData:PersonalData

-technicalData:TechnicalData

-accountSet:Vector

-contractSet:Vector

-historyBookSet:Vector

+accounts:Enumeration

+contracts:Enumeration

+histories:Enumeration

HistoryBookData

+versionId:String

-datum:DateFormat

-referenz:String

-grund:String

-sachbearbeiter:int

PersonalData

+versionId:String

-name:String

-vorname:String

-strasse:String

-hausNr:String

-plz:int

-stadt:String

TechnicalData

+versionId:String

-geburstag:DateFormat

-familienstand:String

-anzahlKinder:int

-fuehrerscheinklasse:String

-datumFuehrerschein:DateFormat

AccountData

+versionId:String

-aenderungsDatum:DateFormat

-typ:String

-blz:String

-institut:String

ContractData

+versionId:String

-ordnungsbegriffArt:String

-kundeOrdnungsbegriff:String

-kundeBeziehung:String

-aenderungsDatum:DateFormat

LegacySystemManager

+versionId:String

-Xml2JavaParser:Xml2JavaParser

-LegacyDbAdapter:LegacyDbAdapter

+loginUser:void

+logoutUser:void

+searchCustomer:SearchResultSet

+queryByPostalCode:QueryByPostalCode

+queryByEnteredDate:QueryByEnteredDate

+queryByContractCategory:QueryByContractCategory

+queryByTimePeriod:QueryByTimePeriod

Xml2JavaParser

+versionId:String

+doParseSearchCustomer:Customer

+doParseByTimePeriod:QueryByTimePeriod

+doParseByPostalCode:QueryByPostalCode

+doParseByEnteredDate:QueryByEnteredDate

+doParseByContractCategory:QueryByContractCategory

LegacyDbAdapter

+versionId:String

+doQuery:Stream

QueryByPostalCode

+versionId:String

-postalCode:String

-sumCustomers:int

-sumContracts:int

QueryByContractCategory

+versionId:String

-contractCategory:String

-sumCustomers:int

-sumContracts:int

QueryByEnteredDate

+versionId:String

-enteredDate:DateFormat

-customerSet:Vector

+customers:Enumeration

Object-Oriented DesignObject-Oriented Design

• UML use cases, class diagrams

• Goal: simple subsystem integration

• Business objects• transported between subsystems

• Boundary classes• encapsulate subsystem functionality

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 27 -

Software Process ModelSoftware Process Model

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 28 -

Integration and System TestIntegration and System Test

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 29 -

Example: Legacy IntegrationExample: Legacy Integration

DBMS

Sea

rch

Con

trol

ler

Partner DB

XML Stream

XML Stream QueryEncoder

ResultDecoder

LegacyBoundary

QueryDecoder

ResultEncoder

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 30 -

TestingTesting

• Class Test• Class functionality ok?

• Subsystem Test• Code review; subsystem boundary ok?

• Integration Test• Subsystems' interfaces ok?

• System Test• Workflow and GUI ok?

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 31 -

Conclusion: ExperiencesConclusion: Experiences• EC software development process can

differ from conventional process in:• types of tasks• order in which tasks are performed• roles that perform tasks• software tools used

• especially notable:• high effort for subsystem integration

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 32 -

Conclusion: Software QualityConclusion: Software Quality• Problem:

• quality-assuring methods can fall prey to time-to-market philosophy

• Partial solution:• incremental, iterative prototyping to

estimate feasibility, effort and dev. time Goal: Model software development

process ensuring consistent high quality despite more challenging conditions

V. Gruhn, L. Schöpe; Software Process for Electronic Commerce Portal Systems - 33 -

Thank you!Thank you!

Any questions?Any questions?