220 likes | 338 Views
Chapter 3. Approaches to System Development. Objectives. Explain the differences between a model, a tool, a technique, and a methodology Describe the two overall approaches used to develop information systems: the traditional method and the object-oriented method
E N D
Chapter 3 Approaches to System Development
Objectives • Explain the differences between a model, a tool, a technique, and a methodology • Describe the two overall approaches used to develop information systems: the traditional method and the object-oriented method • Describe some of the variations of the system development life cycle (SDLC)
Objectives • Describe some of the key features of current trends in system development: the spiral model, extreme programming (XP), and the Rational unified process (RUP) • Explain how computer-aided system engineering (CASE) tools are used in system development
Aids to Assist in Analysis and Design • Methodologies • Comprehensive guidelines to follow for completing every SDLC activity • Collection of models, tools, and techniques • Models • Representation of an important aspect of the real world • Diagrams and charts • Project planning aids • Techniques • Collection of guidelines that help analyst complete system development activity or task • Step-by-step instructions • General advice
– A model is an abstraction of reality. • Physical – Schematic – Suboptimization Models -Mathematical Tradeoffs What are examples of each model?
Some Models / Tools Used in System Development • Pert charts • Gantt charts • Org charts • Financial models (for project evaluation) • Flow charts • Data flow diagram (DFD) • Entity-relationship diagram (ERD) • Integrated development environments (IDE) • Graphic programs / word processors • CASE, prototyping, and rapid development tools • Project management programs
Relationships Among Components of a MethodologyFigure 3-4
Traditional Approach Structured Programming • Improves computer program quality • Allows other programmers to easily read and modify the code • Each program module has one beginning and one ending
Top-Down Programming • Divides complex programs into hierarchy of modules • Module at top controls execution by “calling” lower level modules • Modular programming • Similar to top-down programming • One program calls others to work as single system • Main principles of program modules • Loosely coupled • Highly cohesive
Structure Chart Created Using Structured Design Technique • Helps developer define what the system needs to do (processing requirements) • Data to store and use • Inputs and outputs • How functions work together
ERD Created During Structured AnalysisFigure 3-9
Traditional Approach • Merges information engineering with the structured approach • Used widely in system development Object-Oriented Approach • Views information systems as collections of interacting objects that work together to accomplish tasks • Objects - things in the computer system that can respond to messages • No processes, programs, data entities, or files
Object-Oriented Analysis & Design • Object-oriented analysis • Defines all of the types of objects that do the work of the system • Shows how objects interact • Object-oriented design • Defines all additional object types needed to communicate with people and devices in the system • Refines each type of object for implementation
SDLC Variations • Variations based on: • Phases • Iteration • Incremental rather than project all at once • Prototyping • Emphasis on people • Sociotechnical systems E.g. prototyping UI • Speed of development • Incremental rather than project all at once. • Rapid Application Development (RAD) possible prototyping
Phases of the Multiview SDLC Figure 3-16 Phases can be based on people
The Spiral Life Cycle Model Figure 3-17
Extreme Programming (XP) • Starts with user stories • Developers document stories with informal descriptive models • Acceptance tests define outcomes • Iterative in nature • Programmers work in teams and program and debug in pairs • Programmers not over worked.