You are on page 1of 47

Introduction to Business Systems Development

BCO1048

Topic 5

Satzinger 4th edn. Chapter 2,6,7


2

Review: 2 Main Approaches


Both traditional and object-oriented approaches to system development use the system development life cycle (SDLC) as a project management and a process management framework. The predictive approach to the SDLC is used for projects that are well understood and low risk. The adaptive approach to the SDLC is used for projects that are not well understood and are higher risk. Adaptive SDLCs are more iterative and allow the project team to adapt the project to changing circumstances. Sometimes very important in today's rapidly changing environments.
3

Review of the SDLC

Satzinger et al (2006) Fig 2-3


4

Objectives
Explain the differences between a model, a tool, a technique, and a methodology Describe the two overall approaches used to develop information systems: the traditional method and the object-oriented method Describe some of the variations of the system development life cycle (SDLC)
5

Objectives
Describe some of the key features of current trends in system development: the spiral model, extreme programming (XP), and the Rational unified process (RUP) Explain how computer-aided system engineering (CASE) tools are used in system development
6

Aids to Assist in Analysis and Design


Methodologies
Comprehensive guidelines to follow for completing every SDLC activity Collection of models, tools, and techniques

Models
Representation of an important aspect of the real world Diagrams and charts Project planning aids
7

Types of Models
Models may be classified in several ways One method is to classify models into Graphical Mathematical Narrative Physical

System Development Models


Some models of Systems Components
Flowchart Data Flow Diagram (DFD) Entity-Relationship Diagram (ERD) Structure Chart Use Case Diagram Class Diagram Sequence Diagram
Satzinger et al (2006) Fig 2-8
9

System Development Models


Some models used to manage SDLC
PERT Chart Gantt Chart Organisational Hierarchy Chart Financial Analysis Models
NPV Net Present Value ROI Return on Investment
Satzinger et al (2006) Fig 2-8
10

Aids to Assist in Analysis and Design


Tools
Software support that helps create models or other project components From simple drawing programs to complex CASE tools

11

Some Tools Used in System Development


Project management application Drawing graphics application Word processor/text editor Computer-aided system engineering (CASE) tools Integrated development environment (IDE) Data management application Reverse-engineering tool Code generator tool
Satzinger et al (2006) Fig 2-9
12

Aids to Assist in Analysis and Design


Techniques
Collection of guidelines that help the analyst complete a system development activity or task Step-by-step instructions General advice

13

Some Techniques Used in System Development


Strategic planning techniques Project management techniques User interviewing techniques Data-modelling techniques Relational database design techniques Structured analysis & design technique Object-oriented analysis & design techniques Software testing techniques Satzinger et al (2006) Fig 2-10
14

Relationships Among Components of a Methodology


Techniques Models

Tools

Satzinger et al (2006) Fig 2-11


15

Two Approaches to System Development


1. Traditional Approach
Structured system development
Structured programming Structured analysis Structured design Structured programming

Known as Structured Analysis and Design Technique (SADT)

2. Object-Oriented Approach
16

Waterfall Model of SDLC

Phases can be varied


Satzinger et al (2006) Fig 2-4
17

Structured Programming
Improves computer program quality Allows other programmers to easily read and modify the code Each program module has one beginning and one ending Three programming constructs

18

Three Structured Programming Constructs

Satzinger et al (2006) Fig 2-12


19

Top-Down Programming
Divides complex programs into hierarchy of modules Module at top controls execution by calling lower level modules Modular programming
Similar to top-down programming One program calls others to work as single system

20

Top-Down or Modular Programming

Satzinger et al (2006) Fig 2-13


21

Structured Design
Developed to provide guidelines
What the set of programs should be What each program should accomplish How programs should be organized into a hierarchy Structure Chart

Main principles of program modules


Loosely coupled Highly cohesive
22

Structure Chart

Satzinger et al (2006) Fig 2-14

23

Structured Analysis
Helps developer define what the system needs to do (processing requirements)
Data to store and use Inputs and outputs How functions work together

DFDs and ERDs commonly show results of structured analysis


24

Data Flow Diagram ~ VIP!

Satzinger et al (2006) Fig 2-15


25

ERD ~ VIP! (Data Model created during Structured Analysis)

Satzinger et al (2006) Fig 2-16


26

Structured Analysis Leads to Structured Design and Structured Programming

Satzinger et al (2006) Fig 2-17


27

Information Engineering
A System development methodology that focuses on strategic planning, data modeling, and automated tools More rigorous and complete than the structured approach Uses process dependency diagrams More focus on data and CASE
28

Traditional Approach
Now merges information engineering with the structured approach Used widely in system development

29

Object-Oriented Approach
Views information systems as collections of interacting objects that work together to accomplish tasks
Objects - things in the computer system that can respond to messages No processes, programs, data entities, or files

30

Object-Oriented Approach
Focus on things of interest and how they behave

Satzinger et al (2006) Fig 2-18


31

Object-Oriented Analysis & Design


Object-oriented analysis
Defines all of the types of objects that do the work of the system Shows how objects interact

Object-oriented design
Defines all additional object types needed to communicate with people and devices in the system Refines each type of object for implementation

32

Class Diagram - OO Analysis

Satzinger et al (2006) Fig 2-19


33

Object-Oriented Programming
Writing statements in programming language to define each object Benefits include naturalness and reuse

34

SDLC Variations
Analysts encounter many variations of SDLC in practice Based on:
Phases Iteration Emphasis on people Speed of development

35

Iteration Across Life Cycle Phases

Satzinger et al (2006) Fig 2-7


36

The Spiral Life Cycle Model

Satzinger et al (2006) Fig 2-6


37

Extreme Programming (XP)


Recent development approach
Lightweight approach to keep process simple

Starts with user stories


Developers document stories with informal descriptive models Acceptance tests define outcomes

Iterative in nature
Heavy user involvement Series of releases Continuous testing and integration

38

Rational Unified Process (RUP)


Object-oriented development approach Reinforces six best practices
Develop iteratively Define and manage system requirements Use component architectures Create visual models Verify quality Control changes

Inception, elaboration, construction, and transition


39

Automated Tools and Technology


Computer-aided systems engineering (CASE) Application Development Environments (ADE) or Integrated Development Environments (IDE) Process and project managers

40

ADE Tools
Application development environments (ADEs) are:
integrated software development tools provide all the facilities necessary to develop new application software maximise speed and quality

A common synonym is integrated development environment (IDE)


41

Project Managers
A project manager is an automated tool to:
help plan system development activities (preferably using the approved methodology) estimate and assign resources (including people and costs) schedule activities and resources monitor progress against schedule and budget control modify schedule and resources report project progress

42

Computer-Aided System Engineering (CASE)


Automated tools to improve the speed and quality of system development work Support the drawing of models Provide for the translation of system models into application programs Database of information about system called repository Upper CASE, Lower CASE, ICASE
43

CASE repository
is a system developers or project database it is a place where developers can store system models, detailed descriptions and specifications, and other products of system development synonyms include dictionary and encyclopedia

44

Forward and Reverse Engineering


Forward engineering requires the systems analyst to draw system models, either from scratch or from templates. The resulting models are subsequently transformed into program code Reverse engineering allows a CASE tool to read existing program code and transform that code into a representative system model that can be edited and refined by the systems analyst
45

CASE Tool

Repository contains all system Information

Satzinger et al (2006) Fig 2-22


46

Homework
Review this lecture
From Satzinger et al. Read and summarize pages 35-68
Complete Review questions 11,15,18,23 (page 69)

47

You might also like