610 likes | 740 Vues
In this lecture, we explore the critical aspects of life cycles in information systems (IS) development, detailing the evolution from prescriptive to descriptive models. The session covers essential organisational theories, frameworks, and methodologies such as the Systems Development Life Cycle (SDLC), which is pivotal in introducing discipline to the development process. We also discuss the advantages and challenges of the SDLC, emphasizing the practicality of various life cycle models in guiding effective software development.
E N D
Critical Issues in Information Systems BUSS 951 Lecture 4 Design 1: Technical and Methodological Aspects
Notices (1)General • Make sure you have a copy of the BUSS951 Subject Outline • BUSS951 is supported by a website (available from Tomorrow), where you can find out the latest Notices and get Lecture Notes, Tutorial Sheets, Assignments etc www.uow.edu.au/~rclarke/buss951/buss951.htm • Pick up assignment 1 now! • Note there has been a change in the Lecture schedule we will move lectures 8->4 and 9->5
Notices (2)Readings for Week 4 • Watson, Rainer and Koh (1991) “Executive Information Systems: A Framework for Development and a Survey of Current Practices” We use this paper as an example of applying the kind of analysis needed for your assignment
Agenda (1) • Organisational Metaphors • Machines • Organisms • Specific Organisational Theories • Complex Organisations • Network Organisations • Population Ecology Models
What is a Life Cycle? (1) • Life Cycles are generalisations of the steps or phases leading to the development of an IS • emerged from fields of evolutionary biology and cybernetics • models of software evolution date back to the earliest projects developing large software systems (circa 1956)
What is a Life Cycle? (2) • provide an abstract scheme accounting for the ‘natural’ or engineered development of systems • simplify the actual steps or development work practices found in real methodologies
What is a Life Cycle? (3)Needs served • planning, organising • staffing, coordinating • budgeting, and • directing software development activities
What is a Life Cycle? (4)Prescriptive Life-cycles • describe how systems should be developed (generally as a set of steps) • easier to describe, however many software development details are ignored
What is a Life-Cycle? (5)Descriptive Life Cycles • characterise how systems are actually developed • much less common; more difficult to describe because data must be collected throughout systems life • system specific • therefore, prescriptive models are dominant
Life Cycles & System Change (1)Two distinct views • life cycles suggest ways in which a system changes or evolves over time • two distinct views on systems change: • evolutionist models • evolutionary models
Life Cycles & System Change (2)Evolutionistic Models • describe system change as progress through a series of stages eventually leading to some final stage • useful as organising frameworks for managing development effort • poor predictors of why certain changes are made to a system & why systems evolve in specific ways
Life Cycles & Systems Change (3)Evolutionary Models • focus attention to the mechanisms and processes that change systems • less concerned with stages of development and more with the technological mechanisms and organisational processes that change systems over space and time
How many Life-Cycles? (1) • Very much smaller number of life cycles than actual methodologies • In rank order of popularity: • SDLC (Systems Development Life Cycle) • RPLC (Rapid Protoyping Life Cycle) • EDLC (Evolutionary Development Life Cycle) • Others (Whirling, Curriculum)
SDLC Initiation Analysis Maintenance & Evaluation Operation & Acceptance Design Construction
Analysis Design Design Construction Initiation Initiation SDLCB-Model Development Path Construction Acceptance Maintenance Cycle Operation Design Evaluation Initiation Analysis
Benefits of SDLC (1)Some Advantages • traditional SDLC has brought a much-needed discipline to systems development • much better to use SDLC than not to use any approach! • can be used to create successful systems
Benefits of SDLC (2) • fits in with structured techniques • structured programming: use of restricted control structures: sequence, selection, repetition • structured design: cohesion- one & only one function- and coupling- minimal dependency of modules • structured analysis: Yourdon and DeMarco, Gane and Sarson- data flow (which is actually process oriented view
Problems with SDLCDocument Driven Development • SDLC is document driven • each stage usually has a specific deliverable (often a document) used at a subsequent stage • reflected in the Computer Aided Software Engineering tools (CASE) used to support SDLC
Problems with SDLCSome Flaws... • implementation begins after requirments and design documents have been completed • if the system specification is complete and the design is of high quality, implementation will probably be straight forward
Problems with SDLC...Some Flaws • however, system design is often flawed • important design decisions must be made during implementation • specification and design errors not identified during implementation are built into the system
Problems with SDLCUsers • pre-specifying user requirements prior to development of IS is difficult • traditional deliverables are poor communication tools • users often do not know what they want until they can see a working model
Problems with SDLCUsers • user involvement in the requirements definition and reviews of overall system design do not guarantee user satisfaction • users are often disappointed with the completed system
Problems with SDLCUsers • traditional pre-specification methods often don’t help in many user-oriented applications • decision support systems • data base applications • particularly when requirements and decision processes are unclear
Increasing UncertaintyUser Requirements Levels Systems Strategic Management • Management Information Systems • Executive Information Systems • Decision Support Systems • Information Reporting Systems • Operations Information Systems • Office Automation Systems • Transaction Processing Systems • Process Control Systems Tactical Management Operational Management Business Operations Increasing Uncertainty in System Requirements
Types of PrototypingRapid versus Evolutionary • prototype is discarded as a new production system is constructed using another language (Rapid Prototyping or Type II) • the basis for full-scale development of the production system (Evolutionary Prototyping or Type 1)
Develop Prototype Analysis Test Prototype Design Amend Prototype Construction RPLC Investigation Maintenance & Evaluation Operation & Acceptance
Develop Prototype Test Prototype Amend Prototype EDLC
Problems with Prototyping • inappropriate, incomplete, and inadequate analysis and design • unrealistic performance expectations • poorly controlled projects • reluctance to discard prototype models • problems with users
Problems with Prototyping • does not necessarily improve productivity in all phases • can involve risks but these can be avoided if careful planning and project management are used
Design Construction SLCSpiral Life Cycle Investigation Maintenance & Evaluation Analysis Operation & Acceptance
CLCCurriculum Life Cycle Deconstruction Joint Construction Social Setting Independent Construction
Life Cycle Methodologies Life Cycles & Methodologies Use prescriptive life cycles to explain and compare between real methodologies
Classes of Methodology Data-oriented IE (Martin & Finkelstein) JSD (Jackson) Process-oriented STRADIS (Gane and Sarson) SSADM (Learmonth & Burchett) Rapid Prototyping Softwright Systems JAD Human-centred ISAC (Lundberg) ETHICS (Mumford) SSM (Checkland) Evolutionary Prototyping Milton Jenkins Systemscraft (Crinnion)
What are Methodologies? • Any methodology must support two components: • toolsand methods for recording & analysing the existing system, new users requirements, specifying the format of the new system • an overall framework, indicating which tools are to be used at which stages in the development process
Adaptive Methodology • can tailor to the client organisation • can tailor to the IT developers • can tailor to the individual project • this feature is called adaptiveness
Adaptive Methodology • delete (jettison) unneeded methods • addition of needed methods • Controls Analysis Technique (CAT) • Quality Control Method(s)
Adaptive Methodology • exchange semantically similar techniques • changing deMarco DFDs for Gane & Sarson DFDs • exchange functionally similar techniques • Chen ERDs for Merise ERDs • Hawryskiewicsz NFs for Finklestein BNFs
Scalable Methodologies • Systemscraft is a scalable methodology • Scalability is a kind of adaptability • centres on the deletion (jettisoning) or addition of methods
Scalable Methodologies • depends on the size and complexity of development projects • but might need other methods to cope with aspects of complex projects • or to enforce rigour on large projects
Design Problemscannot be completely stated (1)... • never know when all aspects of the problem emerged- some may never be fully uncovered • generated by groups with different involvements • some problems only emerge when attempts are made to generate solutions
Design Problemscannot be completely stated (2)... • full of uncertainties both in terms of objectives, priorities • objectives, priorities likely to change during the process • shouldn’t expect static, complete formulation of design problems • problems-solutions in tension
Design Problemsrequire subjective interpretation (1)... • designers likely to devise different solutions, perceive problems differently • understanding problems depends to an extent on our ideas for solving • managers see problems as management problems etc/
Design Problemsrequire subjective interpretation (2)... • difficulties with measurement in design • problems are inevitably value-laden, therefore solutions are based on subjective perception • don’t expect entirely objective formulations of design problems
Design Problemsorganised heirarchically (1)... • design problems can often be viewed as symptoms of other ‘higher-level’ problems • eg/ building a tourist resort • waste water- a problem for plumbers • a problem for tourist organisations • a problem for environmentalists • a problem for government policy makers