1 INTRODUCTION Chapter 1 Alan Dennis, Barbara Wixom, and David Tegarden John Wiley & Sons, Inc....

Post on 27-Dec-2015

223 views 2 download

Tags:

Transcript of 1 INTRODUCTION Chapter 1 Alan Dennis, Barbara Wixom, and David Tegarden John Wiley & Sons, Inc....

1

INTRODUCTIONChapter 1

Alan Dennis, Barbara Wixom, and David Tegarden

John Wiley & Sons, Inc.

Slides by Fred Niederman

Edited by Solomon Negash

2

What are systems?

A surgeon, a civil engineer and a software engineer were chatting at a bar. The discussion rolled around to whose profession was the oldest. The surgeon said that surgery was, since in the book of Genesis, God created Eve from one of Adam's ribs, and surely that involved surgery. The civil engineer countered by saying that before God created people, God created the heavens and the Earth from chaos, surely a feat of civil engineering. The software engineer just smiled and said “_________________________________?”

• Downloaded from http://www.cis.gsu.edu/~shong/oojokes/ Jan 7, 2003

3

System Analysis and Design(Definition)

• The study of a ___________ prior to taking some __________ (DeMarco, 1978)

• The ___________ of establishing the services that the _________requires from a system and the ___________under which it operates and is developed (Summerville, 1995)

• A __________used to develop computer-based ______________________ (Hoffer, George, & Valachich, 1999)

4

A “Simple” Process for Making Lunch

5

System Development Life Cycle (SDLC)

• Planning– Why build the system?

• Analysis– Who are the users?– What are the requirements?– What is the scope?

• Design– How will the system work?

• Implementation– System delivery

– How do we support the users?

6

Major Attributes of the Lifecycle

• The project– Moves systematically through phases where each phase

has a standard set of outputs– Produces project deliverables– Uses deliverables in implementation– Results in actual information system– Uses gradual refinement

7

• Identifying business value

• Analyze feasibility

• Develop work plan

• Staff the project

• Control and direct project

Planning

8

Planning—steps & deliverables

• Describe the principal steps in the Planning Phase. What are the major deliverables?

9

• Analysis

• Information gathering

• Process modeling

• Data modeling

Analysis

10

Analysis—steps & deliverables

• Describe the principal steps in the Analysis Phase. What are the major deliverables?

11

• Physical design

• Architectural design

• Interface design

• Database and file design

• Program design

Design

12

Design—steps & deliverables

• Describe the principal steps in the Design Phase. What are the major deliverables?

13

• Construction

• Installation

Implementation

14

Implementation—steps & deliverables

• Describe the principal steps in the Implementation Phase. What are the major deliverables?

15

Processes and DeliverablesProcess Product

Planning

Analysis

Design

Implementation

Project Plan

System Proposal

System Specification

New System and Maintenance

Plan

16

Methodologies• What is a methodology?

– A formalized approach or series of steps– Writing code without a well-thought-out system request

may work for small programs, but rarely works for large ones.

• A defined methodology is needed for large projects• Alternative methodologies

– Structured (Waterfall) methodology– Prototype-based methodology– Rapid Application Development (RAD) methodology– Object-Oriented methodology

17

Structured (Waterfall) Methodology

18

Pros and Cons of the Waterfall Methodology

Pros Cons

Identifies systems requirements long before programming begins

Design must be specified on paper before programming begins

Long time between system proposal and delivery of new system

19

RAD Methodology

• Critical elements– JAD (joint application development) sessions– Fourth generation/visualization programming

languages– CASE (computer aided software engineering)

tools– Code generators

20

Prototype-based Methodology

21

Object-Oriented Methodology

• Attempts to balance emphasis on data and process

• Uses Unified Modeling Language (UML) for diagramming – Use-case Driven– Architecture Centric– Iterative and Incremental

22

Key Object-Oriented concepts

• Classes -- template to define objects

• Instances -- specific examples of class members

• Objects -- building block of the system

• Attributes -- describe data aspects of the object

• Methods -- the processes the object can perform

• Messages -- instructions sent to or received from other objects

23

A Class and Its Objects

PATIENT

-Name-Birthdate-Phone Number+Insert ()()+Delete ()()

PATIENT 1: TOP PACKAGE: PATIENT

-Name = Teresa Marks-Birthdate = March 16, 1975-Phone number = 314-997-3456

PATIENT 2: TOP PACKAGE: PATIENT

-Name = Mel Bourne-Birthdate = May 11, 1965-Phone number = 314-997-3219

Attributes

Methods

Class

Instantiated Objects of the Class

24

Additional O-O concepts

• _______________ is the principle that only information required to use the object is available outside the object

• ______________ is the mechanism that combines data and processes in a single object

• Class hierarchy, inheritance, and polymorphism

25

_________________(What O-O concept does this diagram depict?)

26

_________________(What O-O concept does this diagram depict?)

27

_________________(What O-O concept does this diagram depict?)

28

Project Team Roles

• Business analyst

• System analyst

• Infrastructure analyst

• Change management analyst

• Project manager

29

Summary -- Part 1

• The Systems Development Lifecycle consists of four phases: Planning, Analysis, Design, and Implementation

• There are three major development methodologies: the waterfall method, RAD, and the Object-Oriented approach.

• Advantages of Object-Oriented approach are: increased system modularity, reusability, and more realistic way of viewing the system

30

Summary -- Part 2

• There are six major elements in Object-Oriented design: classes, objects, instances, attributes, methods, and messages.

• Encapsulation, Inheritance, and Polymorphism are also important object-oriented concepts

• There are five major team roles: business analyst, systems analyst, infrastructure analyst, change management analyst and project manager.