Upload
timothy-patterson
View
215
Download
2
Tags:
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 - 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
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
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