0% found this document useful (0 votes)
15 views

Lecture 2 System Development Environment

The document outlines the Systems Development Environment, focusing on information systems analysis and design, and the Systems Development Life Cycle (SDLC). It covers various methodologies including Rapid Application Development (RAD), agile methodologies, and Object-Oriented Analysis and Design (OOAD). Additionally, it discusses the evolution of systems development practices and the importance of adapting to dynamic requirements in software development.
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

Lecture 2 System Development Environment

The document outlines the Systems Development Environment, focusing on information systems analysis and design, and the Systems Development Life Cycle (SDLC). It covers various methodologies including Rapid Application Development (RAD), agile methodologies, and Object-Oriented Analysis and Design (OOAD). Additionally, it discusses the evolution of systems development practices and the importance of adapting to dynamic requirements in software development.
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 41

Botswana Accountancy College

Computing & Information Systems

Module: Systems Development

Lecturer: MN

: The Systems Development Environment


Reference: Modern Systems Analysis and Design (6th Edition)

BAC - Systems Development - Year 1- 2020 1


Learning Objectives
 Define information systems analysis and design.
 Describe the information Systems Development Life
Cycle (SDLC).
 Explain Rapid Application Development (RAD),
prototyping, Computer Aided Software Engineering
(CASE), and Service-Oriented Architecture (SOA).
 Describe agile methodologies and eXtreme
programming.
 Explain Object Oriented Analysis and Design and the
Rational Unified Process (RUP).

BAC - Systems Development - Year 1- 2020 2


Introduction
 Information Systems Analysis and Design
 Complex organizational process
 Used to develop and maintain computer-
based information systems
 Used by a team of business and systems
professionals

BAC - Systems Development - Year 1- 2020 3


Introduction (Cont.)

FIGURE 1-1 An organizational approach to systems analysis and


design is driven by methodologies, techniques, and tools

BAC - Systems Development - Year 1- 2020 4


A Modern Approach to Systems
Analysis and Design
 1950s: focus on efficient automation of
existing processes
 1960s: advent of 3GL, faster and more
reliable computers
 1970s: system development becomes
more like an engineering discipline

BAC - Systems Development - Year 1- 2020 5


A Modern Approach to Systems
Analysis and Design (Cont.)
 1980s: major breakthrough with 4GL,
CASE tools, object oriented methods
 1990s: focus on system integration, GUI
applications, client/server platforms,
Internet
 The new century: Web application
development, wireless PDAs, component-
based applications

BAC - Systems Development - Year 1- 2020 6


A Modern Approach to Systems
Analysis and Design (Cont.)
 Application Software
 Computer software designed to support
organizational functions or processes
 Systems Analyst
 Organizational role most responsible for
analysis and design of information systems

BAC - Systems Development - Year 1- 2020 7


Developing Information Systems
 System Development Methodology is a
standard process followed in an
organization to conduct all the steps
necessary to analyze, design, implement,
and maintain information systems.

BAC - Systems Development - Year 1- 2020 8


Systems Development Life Cycle
(SDLC)
 Traditional methodology used to develop,
maintain, and replace information systems.
 Phases in SDLC:
 Planning
 Analysis
 Design
 Implementation
 Maintenance

BAC - Systems Development - Year 1- 2020 9


Standard and Evolutionary Views of
SDLC

FIGURE 1-3 Evolutionary model


FIGURE 1-2
The systems development life cycle

BAC - Systems Development - Year 1- 2020 10


Systems Development Life Cycle
(SDLC) (Cont.)
 Planning – an organization’s total
information system needs are identified,
analyzed, prioritized, and arranged
 Analysis – system requirements are
studied and structured

BAC - Systems Development - Year 1- 2020 11


Systems Development Life Cycle
(SDLC) (Cont.)
 Design – a description of the
recommended solution is converted into
logical and then physical system
specifications
 Logical design – all functional features of
the system chosen for development in
analysis are described independently of
any computer platform

BAC - Systems Development - Year 1- 2020 12


Systems Development Life Cycle
(SDLC) (Cont.)
 Physical design – the logical
specifications of the system from logical
design are transformed into the
technology-specific details from which all
programming and system construction can
be accomplished

BAC - Systems Development - Year 1- 2020 13


Systems Development Life Cycle
(SDLC) (Cont.)
 Implementation – the information system
is coded, tested, installed and supported in
the organization
 Maintenance – an information system is
systematically repaired and improved

BAC - Systems Development - Year 1- 2020 14


BAC - Systems Development - Year 1- 2014 15
The Heart of the Systems Development Process
FIGURE 1-7
The analysis–design–code–test loop

Current practice combines analysis, design, and implementation


into a single iterative and parallel process of activities.
BAC - Systems Development - Year 1- 2014 16
Traditional Waterfall SDLC

One phase begins


when another
completes, with
little backtracking
and looping.

FIGURE 1-9
A traditional waterfall SDLC

BAC - Systems Development - Year 1- 2014 17


Problems with Waterfall Approach
 System requirements “locked in” after
being determined (can't change)
 Limited user involvement (only in
requirements phase)
 Too much focus on milestone deadlines of
SDLC phases to the detriment of sound
development practices

BAC - Systems Development - Year 1- 2014 18


Different Approaches to Improving
Development
 CASE Tools
 Rapid Application Development
(RAD)
 Agile Methodologies
 eXtreme Programming

BAC - Systems Development - Year 1- 2014 19


Computer-Aided Software
Engineering (CASE) Tools
 Diagramming tools enable graphical
representation.
 Computer displays and report generators
help prototype how systems “look and
feel”.

BAC - Systems Development - Year 1- 2014 20


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.

BAC - Systems Development - Year 1- 2014 21


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.

BAC - Systems Development - Year 1- 2014 22


CASE Tools (Cont.)

FIGURE 1-10
A class diagram from
IBM’s Rational Rose

(Source: IBM)

BAC - Systems Development - Year 1- 2014 23


CASE Tools (Cont.)

BAC - Systems Development - Year 1- 2014 24


Rapid Application Development
(RAD)
 Methodology to radically decrease
design and implementation time
 Involves: extensive user involvement,
prototyping, JAD sessions, integrated
CASE tools, and code generators

BAC - Systems Development - Year 1- 2014 25


Rapid Application Development
(RAD) (Cont.)

FIGURE 1-11
RAD life cycle

BAC - Systems Development - Year 1- 2014 26


Service-Oriented Architecture
(SOA)
 An approach to systems development
based on building complete systems
through assembling software
components, each of which model
generic business functions

BAC - Systems Development - Year 1- 2014 27


Service-Oriented Architecture (SOA)
(Cont.)

FIGURE 1-12
Illustration of a service, a credit check,
used by applications and other services

BAC - Systems Development - Year 1- 2014 28


Agile Methodologies
 Motivated by recognition of software
development as fluid, unpredictable, and
dynamic
 Three key principles
 Adaptive rather than predictive
 Emphasize people rather than roles
 Self-adaptive processes

BAC - Systems Development - Year 1- 2014 29


The Agile
Methodologies group
argues that software
development
methodologies
adapted from
engineering generally
do not fit with real-
world software
development.

BAC - Systems Development - Year 1- 2014 30


When to use Agile Methodologies
 If your project involves:
 Unpredictable or dynamic requirements
 Responsible and motivated developers
 Customers who understand the process and
will get involved

BAC - Systems Development - Year 1- 2014 31


BAC - Systems Development - Year 1- 2014 32
eXtreme Programming
 Short, incremental development cycles
 Automated tests
 Two-person programming teams

BAC - Systems Development - Year 1- 2014 33


eXtreme Programming (Cont.)
 Coding and testing operate together
 Advantages:
 Communication between developers
 High level of productivity
 High-quality code

BAC - Systems Development - Year 1- 2014 34


Object-Oriented Analysis and
Design (OOAD)
 Based on objects rather than data or
processes
 Object: a structure encapsulating
attributes and behaviors of a real-
world entity

BAC - Systems Development - Year 1- 2014 35


Object-Oriented Analysis and
Design (OOAD) (Cont.)
 Object class: a logical grouping of
objects sharing the same attributes
and behaviors
 Inheritance: hierarchical
arrangement of classes enable
subclasses to inherit properties of
superclasses

BAC - Systems Development - Year 1- 2014 36


Rational Unified Process (RUP)
 An object-oriented systems development
methodology
 RUP establishes four phase of
development: inception, elaboration,
construction, and transition.
 Each phase is organized into a number of
separate iterations.

BAC - Systems Development - Year 1- 2014 37


FIGURE 1-13
Phases of OOSAD-based development

BAC - Systems Development - Year 1- 2014 38


Our Approach to Systems
Development
 The SDLC is an organizing and guiding
principle in this book.
 We may construct artificial boundaries or
artificially separate activities and
processes for learning purposes.
 Our intent is to help you understand all the
pieces and how to assemble them.

BAC - Systems Development - Year 1- 2014 39


Summary
 In this chapter you learned how to:
 Define information systems analysis and design.
 Describe the information Systems Development Life
Cycle (SDLC).
 Explain Rapid Application Development (RAD),
prototyping, Computer Aided Software Engineering
(CASE), and Service-Oriented Architecture (SOA).
 Describe agile methodologies and eXtreme
programming.
 Explain Object Oriented Analysis and Design and the
Rational Unified Process (RUP).

BAC - Systems Development - Year 1- 2014 40


All rights reserved. No part of this publication may be reproduced, stored in a
retrieval system, or transmitted, in any form or by any means, electronic,
mechanical, photocopying, recording, or otherwise, without the prior written
permission of the publisher. Printed in the United States of America.

Copyright © 2011 Pearson Education, Inc.


Publishing as Prentice Hall

BAC - Systems Development - Year 1- 2014 41

You might also like