developing information systems chapter 11. methodology - case l methodology - way of working decided...
TRANSCRIPT
Methodology - CASE
Methodology
- way of working decided on within a company
- method + techniques
- follow-up by project leader
CASE computer assisted software engineering
- software package based on repository
- upper-case + lower case
System Development Life cycles
Waterfall model
projectdefinition
system study
design
programming
Installation
Post Imple-mentation
Project proposal report
System proposal report
design specifications
program specifications
code
system performance tests
audit , feed-back
Waterfall modelSpiral modelWhirlpool modelRugby model
- intermediate reports
- go/nogo intervals
Boehm’s Spiral Model
prototype 1prototype 2
operationalprototype
RiskAnalysis
RiskAnalysis
RiskAnalysis
determine objectives,alternativesconstraints
evaluate alternativesidentify , resolve risks
simulationmodels Benchmarksrequirements plan
life cycle plan concept ofoperation
Software design
Designvalidation and verification
integrationtests and plan
detailed design
coding
integration tests
implementation
progressthroughsteps
Plannext phases
Prototype based
Whirlpool model
projectdefinition
system study
design
programming
Installation
Post Imple-mentation
Project proposal report
Functional specifications
Feasibility report
design specifications
program specifications
code
system performance tests
audit , feed-back
After each phase a quick review of the previous phases is made
OO-life cycle
With the increasing complexity of the systems,
the waterfall model suffers from two illusions:
The analyst knows everything and understands the problem completely before implementation starts
The users read the system analysis report and approve it
OMG-model (Object Management Group )
Facts: System requirements are not fully known at the startknowledge of the system grows during development
better develop a system incrementallystart with some core functions
object modelling
analysis
design
construction
fullsystemdefinition
coordination and reuse
OMG Project Management
Iterative styledevelop a series of solutions to a problem ,
each of them closer to satisfying the requirements
( also called : evolutionary development )
Incremental styleBuilds system functionality a little at a time.
The results are not entire solutions.
Matthew Pittman proposes iterative analysis and design combined with incremental development
Problem is managing the reuse (by design , not by accident)
How can such a project be estimated , tracked , controlled
Waterfall model
projectdefinition
system study
design
programming
Installation
Post Imple-mentation
Project proposal report
System proposal report
design specifications
program specifications
code
system performance tests
audit , feed-back
Waterfall modelSpiral modelWhirlpool modelRugby model
- intermediate reports
- go/nogo intervals
Project definition
What do we want to accomplish ?
- solve a new problem
- incorporate new requirements
- improve existing system
Is a new system the best solution ?
Who will be involved ?
Organizational problem
System study : functional specs
Objective: What is the problem ?
Responsibility: The user
Execution: Top-down technique
1. Activities: just a few sentences
2. Logical operations ( processes): for each activity
3. Details and definitions: rules, actions, controls , forms
4. Detail information:
object, units, begin and end, classes, names
System study : functional specs 2
The problem definition report includes:
For the input:
For the output:
Furthermore:
. form
. point of time and frequency
. origin
. responsibility
. type and layout
. point of time and frequency
. destination
. usage
. reasons for realization
. financial advantages
. constraints and borders of the system
System study : The feasibility study
Responsibility from this phase on in the ICT-department
. study of the existing system
. borders of the new system
. links with other systems
. study of different solutions
. division in subsystems
. applicability of packages
. estimation of personnel requirements
. cost-benefit analysis
The report allows the steering committee to: - fix timings - final decision
Design : general
What must be done to solve the problem? data flow diagrams / use cases inventory of the data elements data dictionary logical model of the system ( data analysis , UML) major algorithms
compose the working groups planning per department
Design : Detailed
- interfaces with other systems
- controls and checking
- privacy and security aspects
- hardware specifications
- job flow diagrams
- Physical database design
- high-level program design
Detailed system and design specification
Programming and Implementation
Program designdiagramscode tests
documentation data conversion procedure development user training
- Program specifications- Code
- Program specifications- Code
- User documentation
- Operations documentation
- User documentation
- Operations documentation
Installation
Installation of the hardware Install security procedures Tests in operational environment Training operations department Take-over in user department and IT-
department Operational
Post-implementation
AUDIT
- compare actual system with projected budget and timing
- evaluate actual operation cost
- evaluate user satisfaction
- evaluate security
MAINTENANCE
- establish hardware maintenance procedures
- test security plan
- establish change management procedures
Prototyping
Alternative system analysis and building technique
Advantages better interaction with user and higher involvement the technique invokes more requirements additional system life cycle
Disadvantages expensive tools ( 4GL ) user must well understand the aim of the prototype more skills required from analysts and programmers documentation often neglected
Software packages
. Where functions are common to many companies
. Where in-house data processing resources are in short
Advantages:
> development bottleneck can be avoided
> experience and knowledge are bought with the programs
> vendors supply tools and assistance
> mostly better documented
Disadvantages:
> company reorganization needed , other working methods
>conversion and customization effort needed
DFD - Example
Client Publisher
Books Publisher
clients Pending orders publisherorders
AC receivable AC payable
controlorders
Createpublisher
orders
AssembleClientorders
Deliveriesagainstpendingorders
controldeliveries
Paymentagainst invoice
Create invoice
CreatePublisher
order
controlinvoice
OrderValid
orders assembledorders
publisherorders
delivery
Client invoicer
paymentindividual
orderstitels
quantities
Publisher payments
invoicecopy
delivery
Consignmentnote
controlcopy
Use Case Diagrams
Trading Mgr
Trader
Accountingsystem
SalespersonCapture dealLimits
Exceeded
Capture Deal
Price Deal
Analyze Risk
Set Limits
Valuation
UpdateAccounts
Actor
Use Case
“uses”
“uses”
Example :
“extends”
Class Diagram:Typical example
Order
dateReceivedIs prepaidnumber:stringprice: Money
Dispatch( )Close( )
Customer
NameAddress
CreditRating : string
PersonalCustomer
CreditCard#
CorporateCustomer
contactNamecreditRatingcreditLimit
Remind ( )billForMonth
Order Line
Quantity:intPrice:MoneyIsSatisfied
Employee
Product
* 1
Multiplicity mandatory
Association
Generalization
Class
Constraint1
(If Order.customer.creditRatingis “poor” then Order.isPrepaidmust be true)
*Lineitems
RoleName
Multiplicity:many-valued
0..1 *
Multiplicity:optional
* 1
Salesrep.
{creditRating() ==“poor”}