160 likes | 569 Views
CIS 321—IS Analysis & Design. Chapter 2: Approaches to System Development. Overview. Systems development can be very complex. The systems development ______ cycle (SDLC) framework can help address this complexity. Other aids in systems development are methodologies models tools _________
E N D
CIS 321—IS Analysis & Design Chapter 2: Approaches to System Development
Overview • Systems development can be very complex. • The systems development ______ cycle (SDLC) framework can help address this complexity. • Other aids in systems development are • methodologies • models • tools • _________ • Two major approaches to systems development: • traditional • object-oriented
The Basic SDLC • Project definition: • A planned endeavor with a beginning and an end that produces a desired result • System development project • The result is an information system • A complex project requires a detailed plan • Five phases of system development • project planning—initiate, plan, obtain approval • analysis—determine requirements • design—define the solution • implementation—implement the solution • support—maintain and enhance the system
Project Planning Phase • Define the problem • existing system • proposed system • Produce the project _________ • establish milestones • Confirm project _________ • economic, organizational, technical, resource, schedule • Staff the project • select/acquire the staff and allocate time • Launch the project • management approval, allocation of resources
Analysis Phase • Gather information • learn about the problem _________, users, stakeholders • Define system requirements • draw diagrams • Build ___________ of system components • to discover additional requirements • Prioritize requirements • Generate and evaluate alternatives • develop in-______, buy a package, contract w/ third party • Review recommendations with management • choose alternative, proceed
Design Phase • Design and integrate the network • hardware, operating systems • Design the application architecture • addresses problem domain requirements • Design the user __________ • forms, reports, screens, etc. • Design the system interfaces • communicating with other systems • Design and integrate the database • Prototype for design details • prototypes can be saved for the final system • Design and integrate the system controls (security)
Implementation Phase • Construct software components • using VB .NET, Java, etc. • Verify and test • all possible situations • Convert data • populate the database • Train users and document the system • avoid frustrated users • Install the system • prototype, parallel systems, complete changeover
Support Phase • Debug the system • corrective maintenance • Upgrade the system • _________ maintenance • Enhance the system • _________ maintenance • Support the users • help desk
SDLC & the Element of Time • Waterfall approach • each phase is completed before the next one begins • Overlapping of phases • speed development, required by the nature of the problem • _________ of phases • perform the same phase repeatedly until it’s good enough to begin the next phase • each iteration of one phase provides new information about the previous phase • Divide project into miniprojects (UI, apps, DB) • ____________ development • deliver part of the system before the whole system
Aids for Completing the SDLC • Methodologies • a collection of techniques for how to use tools to create models • Models • A model is an ___________ of something in the real world • Models can be physical, mathematical, graphical, textual • Flowchart, DFD, ERD, structure chart, use case diagram, … • Project planning models (PERT and Gantt charts) • Tools • software support to create models or even program code • Techniques • step-by-step instructions
Traditional Approach to System Development • Structured programming • Three structures: sequence, selection, __________ • top-down programming (modular programming) • Structured design • modules arranged in a structure chart • modules are loosely coupled and highly __________ • Structured analysis • data flow diagram (DFD) • entity-relationship diagram (ERD) • Information engineering (James Martin) • rigid focus on strategic planning, data, CASE
Object-oriented System Development (OOSD) • Object • A thing that encapsulates attributes and behavior • OO analysis • identifying problem domain objects and their relationships • OO design • identifying system objects (people, devices) • OO programming • C++, Java, C# • A class is a specification of one type of object • OOSD is more natural, leads to reuse (?)
SDLC Variations • Variations of names for phases • planning, feasibility study, investigation, strategy planning • construction, transition, implementation • Variations based on _______-computer interaction • sociotechnical systems • Multiview • soft systems methodology • Variations based on speed of development • _______ application development (RAD) • prototyping
Current Trends in Development 1 • Spiral model • highly iterative • create series of prototypes • begin with areas of greatest risk • eXtreme Programming (XP) • developed by Kent Beck • user ________ • series of releases • two programmers work together • work only ____ hours per week
Current Trends in Development 2 • Unified Process (UP) • developed by Booch, Rumbaugh, Jacobson of _________ Software • designed for OOSD • uses UML (________ Modeling Language) • phases: inception, elaboration, construction, transition • Agile Modeling • developed by Scott Ambler • mix between the lightweight XP and the heavy duty UP • iterative and incremental • teamwork • simplicity • validation