Chapter 8 - Approaches to System Development
Three major activities of the support phase
(1) Maintaining the system (2) Enhancing the system (3) Supporting the users
What are the two main principles of structured design?
(1) Program modules should be loosely coupled (independent) (2) Program modules should be highly cohesive (accomplishes one task)
Phase
- A related group of development activities - A step in the SDLC
Spiral model
- Adaptive approach - Cycles over and over again through SDLC until completion
Chaordic
- Agile term - Projects that are both chaotic and ordered
Predictive approach to the SDLC
- Assumes that the development project can be planned and organized - Assumes that the IS can be developed according to the plan
Incremental development
- Based on the iterative life cycle - Completes portions of the system in small increments - Each increment is integrated with the whole upon completion
Walking skeleton
- Complete system structure is built but with bare-bones functionality - MVP
Top-down programming
- Concept in structured programming - Dividing a complex program into a hierarchy of program modules
Structured analysis
- Determine what processing is required - Organize requirements by using structured analysis models
Technique
- Guidelines to specify a method for how to carry out an activity or task
Object-oriented analysis
- Identifying and defining the objects that do the work - Determines use cases required to complete tasks
Support activities
- Maintain and enhance the system after it is installed and in use
Structured design
- Organizing a program into a set of modules and hierarchical structure
Waterfall method
- Predictive approach - Assumes phases can be completed sequentially with no overlap
Object-oriented programming
- Programming that supports object classes, inheritance, reuse, and encapsulation
System development methodology
- Set of comprehensive guidelines for the SDLC - Includes specific models, tools, and techniques
Object-oriented design
- Shows how objects interact to complete tasks - Defines all additional types of objects - Refines definitions of each type of object
Object-oriented approach
- System development based on the view that a system is a set of interacting objects that work together
Object
- Thing in an information system - Capable of responding to messages by methods or functions
Visual modeling tools
- Tools that help analysts create and verify graphical models - May also generate program code
Adaptive approach to the SDLC
- Used when system requirements or user's needs aren't well understood - Developers need to be flexible and adapt as the project progresses
Structured programming
Each module has one start point and one end point - Only uses sequence, decision, and repetition constructs
IDEs
Integrated Development Environments - Set of tools that work together to provide a comprehensive development and programming environment
Agile Modeling
Only models with the following characteristics are created: - Necessary - Valid need - Right level of detail
Structured approach
System development using: - Structured analysis - Structured design - Structured programming techniques