Object Oriented Analyis & Design Training Agenda

Download Report

Transcript Object Oriented Analyis & Design Training Agenda

Modern Systems Analysis
and Design
Seventh Edition
Jeffrey A. Hoffer
Joey F. George
Joseph S. Valacich
Chapter 1
Development Methodologies / SDLC
Outline
• Systems Development Life Cycle
–
–
–
–
–
Planning
Analysis
Design
Implementation
Maintenance
• Methodologies
Process of System Development
System Development Process
– a set of activities, methods, best practices, deliverables, and
automated tools that stakeholders use to develop and
maintain information systems and software.
– “Every medium to large corporation and every custom
software producer will have its own specific life cycle or
systems development methodology in place.” (Hoffer)
– Shift in focus from custom-designed, stand-alone
applications to implementing packaged software, such as
ERP and data warehousing systems, and integrating
outsourced software into the organization’s existing
applications.
Life Cycle versus Methodology
System Life Cycle
– Divides the life of an information system into two stages,
systems development and systems operation and support.
System Development Methodology
– A very formal and precise system development process that
defines a set of activities, methods, best practices,
deliverables, and automated tools that system developers
and project managers are to use to develop and maintain
information systems and software.
A System Life Cycle
Conversion
LIFE CYCLE STAGE
System Development
using
System Development
Methodology
LIFE CYCLE STAGE
Lifetime
of a
System
Obsolescence
System Operation
and Support
using
Information Technology
Principles of System Development
• Get the owners and users involved.
• Use a problem-solving approach.
• Establish phases and activities.
• Establish standards for development and documentation.
• Justify systems as capital investments.
• Don’t be afraid to cancel or revise scope.
• Divide and conquer.
• Design systems for growth and change.
• Proper planning and project management
Systems Development Life Cycle
• Series of steps used to manage the phases of
development for an information system
• Consists of five phases:
–
–
–
–
–
Planning
Analysis
Design
Implementation
Maintenance
The SDLC
F
r
o
n
t
e
n
d
B
a
c
k
e
n
d
1. Planning
A. Project identification and selection
B. Project initiation and planning
A
2. Analysis
A. Determine system requirements (WHAT users want)
B. Modeling possible solutions (HOW to satisfy user
needs)
3. Design
D
A. Logical design
B. Physical design
4. Implementation
5. Maintenance/Support
I
Systems Development Life Cycle
– Phases are not necessarily sequential
– Each phase has a specific outcome and deliverable
– Individual companies use customized life cycles
Cross life cycle activities
– Activities that overlap many or all phases of the
methodology.
•
•
•
•
Fact-finding
Documentation and presentation
Feasibility analysis
Process and project management
Phases of the Systems Development Life Cycle
1. Planning
(a) Project Identification and Selection
• Two Main Activities
– Identification of need
– Prioritization and translation of need into a development schedule
• Helps organization to determine whether or not resources should be
dedicated to a project.
(b) Project Initiation and Planning
• Two Activities
– Formal preliminary investigation of the problem at hand
– Presentation of reasons why system should or should not be developed
by the organization
Phases of the Systems Development Life Cycle (Cont.)
2. Analysis
(a) Determine System Requirements
• Study of current procedures and information systems
• Determine requirements
– Study current system
– Structure requirements and eliminate redundancies
(b) Modeling Possible Solutions
• Generate alternative designs
• Compare alternatives
• Recommend best alternative
Phases of the Systems Development Life Cycle (Cont.)
3. Design
(a) Logical Design
• Concentrates on business aspects of the system
(b) Physical Design
• Technical specifications
4. Implementation
–Hardware and software installation
–Programming
–User Training
–Documentation
5. Maintenance
–System changed to reflect changing conditions
–System obsolescence
Common Development Methodologies and Techniques
• Structured Development
• Information Engineering
• Prototyping
• Joint Application Design
• Commercial Methodologies
(i.e., STRADIS, Navigator)
• Agile
• Service-Oriented
Architecture
• Object-Oriented
Development
• Spiral Model
• Transform Model
• Jackson Structured
Development
• Code & Fix Model
• Participatory Design
• eXtreme Programming
Model-Driven Development Route
Modeling
– The act of drawing one or more graphical representations (or pictures) of
a system.
– Modeling is a communication technique based upon the old saying, “a
picture is worth a thousand words.”
Model-driven development
– Techniques that emphasize the drawing of models to help visualize and
analyze problems, define business requirements, and design information
systems.
• Structured systems analysis and design — process-centered
• Information engineering (IE) — data-centered
• Object-oriented analysis and design (OOAD) — object-centered
(integration of data and process concerns)
Structured Development
• Based on the principles of:
– Modularization
– Top-down decomposition
– Process-driven
• Structured programming, design and analysis
Information Engineering
•
•
•
Data-oriented technique
Emphasis on planning
Applied to the organization as a whole rather than an
ad hoc, project-by-project basis
Prototyping
• Principle: a user can tell you better what they DON’T want than
what they DO want
• Expendable (throw-away) prototyping:
– Discarded after use
– Used to support the analysis and design phases
• Evolutionary prototyping:
– Prototype evolves into the final system
– Is it a methodology?
• Rapid application development (RAD)
– Techniques emphasizing extensive user involvement in the rapid and
evolutionary construction of working prototypes of a system to
accelerate the system development process.
Joint Application Design (JAD)
– Users, Managers and Analysts work together for
several days
– System requirements are reviewed
– Structured meetings
Commercial Off-the-Shelf Software Route
• Software package or solution that is purchased to support one or
more business functions and information systems.
Improving IS Development Productivity
• Computer-aided software engineering (CASE) tools
– Facilitate creation of a central repository for system
descriptions and specifications
CASE Architecture
Agile Methodologies
• Principles:
– Focus on adaptive methodologies (not predictive)
– Focus on people (not roles)
– Focus on self-adaptive processes (refine and improve
development process)
• Argues that engineering and software development are
not the same.
– Engineering requirements are well understood.
– Software requirements are not well understood and change
continually.
Service-Oriented Architecture
• Build systems around generic services or specific
business functions.
• Reuse in many different applications.
• Example: credit check application
– Any time the business would need a credit check (when
adding a new customer, entering a new order, and so forth),
the current credit check “service” application would be
altered to fit that business function.