2
Outline
Introduction Systems Analyst
Ch 8 - Approaches to System DevelopmentSDLC
− Phases & Core Processes− Approaches: Predictive & Adaptive
MethodologySoftware Construction & Modeling Approaches
− Structured A&D− Object-oriented
Agile Development
3
Systems Analyst
Organizational role most responsible for analysis and design of information systems.
Translates a _________ __________ into an
___________ ___________ ___________ .
Job Titles− vary by organization; read the job description
• Systems Analyst• Business Analyst (client-facing)
4
Systems Analyst…more of a business problem solver
than a technical programmer
Knowledge & SkillsTECHNICAL • DB, Programming, Computers Hardware, Networking,
Operating systems, and utilities, Communication & collaboration technology
• SDLC techniques
BUSINESS • Organizational knowledge• Management techniques• Functional work processes
PEOPLE • Communication skills• Interpersonal Skills• Roles: Negotiator, Teacher, Mentor, Collaborator, Manager
Systems Development Project
Is a planned undertaking
Has fixed beginning and end
Produces desired result or product
Varies in size
5
SDLC: SYSTEMS DEVELOPMENT LIFE CYCLE
Provides overall framework for managing systems development processAll projects use some variation of SDLC
6
PhaseProject Initiation
Planning
Analysis
Design
Implementation
Deployment
Ch 9
Ch 9
Ch 2-5
Ch 7,10-12
Ch 13
Ch 13
Core Process1. Identify the problem/need & obtain approval
2. Plan & monitor the project
3. Discover & understand the details
4. Design the system components
5. Build, test, and integrate system components
6. Complete system tests and deploy solution
7
2 Approaches to the SDLC
• Waterfall Model
• Modified Waterfall
• Spiral Model
• Incremental Development
Assumptions• can be planned in
advance • system can be
developed according to the plan
Assumptions• Iterative• Must be
flexible & adapt
Predictive SDLC Adaptive SDLC
8
Predictive Approaches
Waterfall One phase begins when another completes;
Specifications are frozenProblems System requirements “locked in” Limited user involvement Too much focus on milestone deadlines
Support
Deployment
Planning
Analysis
Design
Implementation
ProjectInitiation
Support
Deployment
Planning
Analysis
Design
Implementation
ProjectInitiation
Modified Waterfall Overlapping phases Can go backwards
9
Adaptive Approaches: Spiral Model
An iterative approach
Spiral until project completion Then, deployed!
Project Management: managed differently than a
waterfall approach
10
Adaptive Approaches: Incremental DevelopmentAlso, an iterative approach
BUT…− System is built in small increments; it is "grown"
• As an iteration is completed it is integrated to the whole• Partially deployed in steps
Advantage− some functionality gets into the user's hands much earlier
Methodology
A comprehensive guideline to follow for completing every SDLC activity
Abstraction used to separate out aspect
Software to create models or other project components
Guidelines or instructions
Methodology
Models
TechniquesTools
11
12
2 Approaches to Software Construction & Modeling
Structured Approach analysis, design & programming
Object-oriented Approachanalysis, design & programming
Structured Analysis
Structured Design
StructuredProgramming
Software Construction & Modeling:Structured Approach
Determines set of programs• Purpose of each• Organization of programs
Main principles:• Loosely coupled• Highly cohesive
• Each program has one beginning & one ending
• Uses 3 constructs:o Sequenceo Decision o Repetition
• Improvements:o program qualityo easier to maintain
• Define processing requirements
• Define data requirements
• Define inputs and outputs
• Define how functions work together to accomplish tasks
Software Construction & Modeling:Object-Oriented Approach
Views information system as a collection of
interacting objects that work together to
accomplish tasks
OOA, OOD, OOP
OO languages− C++, Java, C#
Benefits− Reuse!
Agile Development
A guiding philosophy and set of guidelines for :developing information systems
in an unknown rapidly changing environment
Complements Adaptive SDLCs & Methodologies − makes sure developers are fast to respond to changes
“Manifesto for Agile Development” agilemanifesto.org
− Value responding to change over following a plan− Value individuals and interactions over processes and tools− Value working software over comprehensive documentation− Value customer collaboration over contract negotiation