Documente Academic
Documente Profesional
Documente Cultură
and Design
Sixth Edition
Jeffrey A. Hoffer
Joey F. George
Joseph S. Valacich
Lesson 1
The Systems Development
Environment
Learning Objectives
Introduction
organizational process
Used to develop and maintain computerbased information systems
Used by a team of business and systems
professionals
Introduction (Cont.)
Application Software
Computer
Systems Analyst
Organizational
Summary of Information
Systems Types
FIGURE 1-2
The systems development life cycle
Convert
recommended
solution to system
specifications
Physical design:
logical specifications
transformed to
technology-specific
details
Tools
Joint Application Design (JAD)
Rapid Application Development (RAD)
Service-Oriented Architecture (SOA)
Agile Methodologies
eXtreme Programming
Prototyping
Iterative development process:
Requirements quickly converted to a
working system.
System is continually revised.
Close collaboration between users and
analysts.
Prototyping (Cont.)
Computer-Aided Software
Engineering (CASE) Tools
Diagramming tools enable graphical
representation.
Computer displays and report generators
help prototype how systems look and
feel.
Computer-Aided Software
Engineering (CASE) Tools (Cont.)
Analysis tools automatically check for
consistency in diagrams, forms, and
reports.
A central repository provides integrated
storage of diagrams, reports, and project
management specifications.
Computer-Aided Software
Engineering (CASE) Tools (Cont.)
Documentation generators standardize
technical and user documentation.
Code generators enable automatic
generation of programs and database
code directly from design documents,
diagrams, forms, and reports.
FIGURE 1-10
A class diagram from
IBMs Rational Rose
(Source: IBM)
JAD (Cont.)
JAD (Cont.)
JAD Participants:
Session
JAD (Cont.)
End Result
Documentation
to radically decrease
design and implementation time
Involves: extensive user
involvement, prototyping, JAD
sessions, integrated CASE tools, and
code generators
Service-Oriented Architecture
(SOA)
An
FIGURE 1-12
Illustration of a service, a credit check,
used by applications and other services
Agile Methodologies
Motivated by recognition of software
development as fluid, unpredictable, and
dynamic
Three key principles
Adaptive
The Agile
Methodologies group
argues that software
development
methodologies
adapted from
engineering generally
do not fit with realworld software
development.
or dynamic requirements
Responsible and motivated developers
Customers who understand the process and
will get involved
eXtreme Programming
Short, incremental development cycles
Automated tests
Two-person programming teams
Communication
between developers
High level of productivity
High-quality code
FIGURE 1-13
Phases of OOSAD-based development
Summary