ZeePedia

Spiral Model: Determine Objectives, Alternatives and Constraints, Prototyping

<< Incremental Model: Evaluation, Incremental vs. Iterative
System Analysis: Systems Analyst, System Design, Designing user interface >>
img
VU
Information System (CS507)
LESSON 21
Spiral Model
SPIRAL is an iterative approach to system development. The spiral lifecycle model is a combination of the
classic waterfall model and aspects of risk analysis. This model is very appropriate for large and complex
Information Systems. The spiral model emphasizes the need to go back and reiterate earlier steps a number
of times as the project progresses. It's actually a series of short waterfall cycles, each producing an early
prototype representing a part of the entire project. It is a circular view of the software lifecycle as opposed
to the linear view of the waterfall approach. It can incorporate other models in its various developmental
phases.
There are usually four distinct phases of the spiral model software development approach.
21.1 Determine objectives, alternatives, constraints.
·
The new system requirements are defined, after a comprehensive system study of the various
business processes, in as much detail as possible. This may and usually does involve interviewing
internal and external users, preparation of detailed flow diagrams showing the process or processes
for which the IS is to be developed, the inputs and outputs in terms of how the data is to be
recorded/ entered and the form in which the results are to be presented. Controls and checks
desired to be implemented in the transactional processing procedures are also examined as they are
to become an integral part of the development. Alternative strategies, in terms of IS development
issues, to meet the determined need requirements are examined as well as constraints observed
when defining the system and need requirements are also reviewed and appropriately addressed.
·
Evaluate alternatives, identify and resolve risks ­ This involves.
1. Risk analysis ­ it includes addressing any factors which may risk the successful completion of
the entire project of IS development including alternative strategies and constraints. Issues
pertaining to the possibility of the IS development not meeting, for example, user
requirements, reporting requirements or the capability of the IS development team or the
compatibility and functionality of the hardware with software. The Risk analysis and suggested
solutions to mitigate and eliminate the Risks would thus become a part of the finalized strategy
to undertake IS development.
2. Prototyping ­ Based upon the finalized strategy and the preliminary design, the first prototype
of the new system is then developed. This is usually a scaled-down version of the system, and
represents an approximation of the characteristics of the final product.
·
Develop, verify next-level product
The prototype prepared is tested against benchmarks based on customer expectations and evaluated
risks to verify the various aspects of the development. Refinements and rectifications of the
prototype are undertaken until customer satisfaction is achieved before development of the next-
level of the product.
·
Plan next phase
The preceding steps are iterated until the customer is satisfied that the refined prototype represents
the final product desired. The final system is constructed based on the refined prototype. The final
system is thoroughly evaluated and tested. Routine maintenance is carried out on a continuing basis
to prevent large-scale failures and to minimize downtime.
The various stages discussed above are shown pictorially below:
88
img
VU
Information System (CS507)
·
Strengths:
·
Good for large and complex projects
·
Customer Evaluation allows for any changes deemed necessary, or would allow for new
technological advances to be used
·
Allows customer and developer to determine and to react to risks at each evolutionary level
·
Direct consideration of risks at all levels greatly reduces problems
·
Weaknesses:
·
Difficult to convince some customers that the evolutionary approach is controllable
·
Needs considerable risk assessment
·
If a risk is not discovered, problems will surely occur
21.2 Prototyping
"Prototyping is the process of quickly putting together a working model in order to test various aspects of
the design to gather early user feedback."
The working model made during this process is called "Prototype". Prototyping is often treated as an
integral part of the development process where it is believed to reduce project risk and cost.
The various steps form a logical flow as depicted below:
89
img
VU
Information System (CS507)
Define User
Requirement
Design/Develop
Prototype
Implement Prototype
Use Prototype
Build actual system
As it is quite obvious from the logical flow shown above the prototype is refined and tested as far as
possible in the design, development, implementation and usage stages before actually being declared fit for
the development of the actual system or the final version. If at any stage it is determined in the tests that the
expected results are not being achieved the design can be re-considered or major modifications may result
in the original design. It is also possible that if alternative routes or strategies are available more than one
prototype may be developed to determine which particular proto-type may provide the best possible route
for achievement of the Objectives. Alternatively, various versions of the same proto-type may be made in a
process of incremental development where each prototype is influenced by the performance of previous
designs. When the prototype is sufficiently refined and meets the functionality, robustness, control and
other design goals, the product is ready for production.
Prototyping software approach is of particular use in software that is to be developed for use by the public
at large, for example software for computer games, word processing, as well as specialists using architectural
software, engineering software for design of aircrafts, automobiles etc.
Why prototypes are used?
In many fields, there is great uncertainty as to whether a new design will actually do what is desired. New
designs often have unexpected problems. A prototype is built to test the function of the new design before
starting production of a product. Building the full design is often expensive and can be time-consuming. A
prototype allows manufacturers to rapidly and inexpensively test the parts of the design that are most likely
to have problems, solve those problems, and then build the full design.
21.3 Advantages of Prototype
·
Prototypes may be easily changed or even discarded.
·
Prototyping may improve communication between and among developers and customers
·
Users may be more satisfied with systems developed using prototyping.
·
A prototype may provide the proof of concept necessary to attract funding.
·
Early visibility of the prototype may help management assess progress.
·
Prototypes may demonstrate progress at an early stage of development.
90
img
VU
Information System (CS507)
·
Prototypes may provide early training for future users of the system.
·
Prototyping may prevent unpleasant surprises by calling attention to incomplete or inconsistent
requirements, or to missing functionality.
·
Prototyping may produce some useful deliverables even if the project runs out of time or money.
·
Prototyping may reduce misunderstandings between and among developers and customers.
·
Prototyping may save on initial maintenance costs because, In effect, customers are doing
"acceptance testing" all along the way.
·
Systems produced through prototyping may be judged easier to learn and easier to use.
21.4 Risks of Prototyping
·
Prototyping may encourage an excess of change requests.
·
Working prototypes may lead management and customers to believe that the final product is
almost ready for delivery.
·
The excellent (or disappointing) performance characteristics of prototypes may mislead the
customer.
·
Customers may not be prepared to provide the level or
frequency of feedback required for iterative prototyping.
·
Early prototypes may be of low fidelity, dismissed as toys.
91
Table of Contents:
  1. Need for information, Sources of Information: Primary, Secondary, Tertiary Sources
  2. Data vs. Information, Information Quality Checklist
  3. Size of the Organization and Information Requirements
  4. Hierarchical organization, Organizational Structure, Culture of the Organization
  5. Elements of Environment: Legal, Economic, Social, Technological, Corporate social responsibility, Ethics
  6. Manual Vs Computerised Information Systems, Emerging Digital Firms
  7. Open-Loop System, Closed Loop System, Open Systems, Closed Systems, Level of Planning
  8. Components of a system, Types of Systems, Attributes of an IS/CBIS
  9. Infrastructure: Transaction Processing System, Management Information System
  10. Support Systems: Office Automation Systems, Decision Support Systems, Types of DSS
  11. Data Mart: Online Analytical Processing (OLAP), Types of Models Used in DSS
  12. Organizational Information Systems, Marketing Information Systems, Key CRM Tasks
  13. Manufacturing Information System, Inventory Sub System, Production Sub System, Quality Sub system
  14. Accounting & Financial Information Systems, Human Resource Information Systems
  15. Decision Making: Types of Problems, Type of Decisions
  16. Phases of decision-making: Intelligence Phase, Design Phase, Choice Phase, Implementation Phase
  17. Planning for System Development: Models Used for and Types of System Development Life-Cycle
  18. Project lifecycle vs. SDLC, Costs of Proposed System, Classic lifecycle Model
  19. Entity Relationship Diagram (ERD), Design of the information flow, data base, User Interface
  20. Incremental Model: Evaluation, Incremental vs. Iterative
  21. Spiral Model: Determine Objectives, Alternatives and Constraints, Prototyping
  22. System Analysis: Systems Analyst, System Design, Designing user interface
  23. System Analysis & Design Methods, Structured Analysis and Design, Flow Chart
  24. Symbols used for flow charts: Good Practices, Data Flow Diagram
  25. Rules for DFD’s: Entity Relationship Diagram
  26. Symbols: Object-Orientation, Object Oriented Analysis
  27. Object Oriented Analysis and Design: Object, Classes, Inheritance, Encapsulation, Polymorphism
  28. Critical Success Factors (CSF): CSF vs. Key Performance Indicator, Centralized vs. Distributed Processing
  29. Security of Information System: Security Issues, Objective, Scope, Policy, Program
  30. Threat Identification: Types of Threats, Control Analysis, Impact analysis, Occurrence of threat
  31. Control Adjustment: cost effective Security, Roles & Responsibility, Report Preparation
  32. Physical vs. Logical access, Viruses, Sources of Transmissions, Technical controls
  33. Antivirus software: Scanners, Active monitors, Behavior blockers, Logical intrusion, Best Password practices, Firewall
  34. Types of Controls: Access Controls, Cryptography, Biometrics
  35. Audit trails and logs: Audit trails and types of errors, IS audit, Parameters of IS audit
  36. Risk Management: Phases, focal Point, System Characterization, Vulnerability Assessment
  37. Control Analysis: Likelihood Determination, Impact Analysis, Risk Determination, Results Documentation
  38. Risk Management: Business Continuity Planning, Components, Phases of BCP, Business Impact Analysis (BIA)
  39. Web Security: Passive attacks, Active Attacks, Methods to avoid internet attacks
  40. Internet Security Controls, Firewall Security SystemsIntrusion Detection Systems, Components of IDS, Digital Certificates
  41. Commerce vs. E-Business, Business to Consumer (B2C), Electronic Data Interchange (EDI), E-Government
  42. Supply Chain Management: Integrating systems, Methods, Using SCM Software
  43. Using ERP Software, Evolution of ERP, Business Objectives and IT
  44. ERP & E-commerce, ERP & CRM, ERP– Ownership and sponsor ship
  45. Ethics in IS: Threats to Privacy, Electronic Surveillance, Data Profiling, TRIPS, Workplace Monitoring