final exam review ids 306 spring 1999 vicki murphy 5/11/99

67
Final Exam Review IDS 306 Spring 1999 Vicki Murphy 5/11/99

Post on 19-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Final Exam Review

IDS 306Spring 1999Vicki Murphy

5/11/99

Norman Ch 1 Introduction• 4-5 What is a system• 5-6 What is an information system• 7 What is an automated information

system• 10 -12 Both systems analysis and design

sections• 14 -17 Three sections on systems analysts• 23-24 IS Requirements Specification• 24-25 IS Life Cycle & Information SDLC• 26-27 Principles to guide SA&D

SYSTEM

boundary

inputs

outputs

processing

controls

feedback

A Generic System A Generic System ModelModel

(with Six (with Six Components)Components)

Examples:• Automobile• Student Registration System• Others...

An INFORMATION SYSTEM is:

• a type of fabricated system

• used by one or more persons

• to help them accomplish some task or

assignment they have

people

procedures

data

An Information System:• supports policies & procedures• has three components - data,

people, procedures - in addition to

the six general system components

(input, output, processing, control, feedback and boundary)

An AUTOMATED INFORMATION SYSTEM IS:

a type of fabricated system

used by one or more persons

to help them accomplish some task or assignment

they have

utilizes hardware and software

people

procedures

data

software

hardware

Initially, problem domains (areas) tend to have poorly defined BOUNDARIES

Problem domain SOLUTIONS are artificial

Problem domains are DYNAMIC

Problem domain solutions usually require INTERDISCIPLINARY knowledge

and skills

Systems Analyst’s KNOWLEDGEBASE is continually expanding

Systems Analysis and Design is a highly COGNITIVE activity

Working with PEOPLE

What makes Systems Analysis What makes Systems Analysis and Design a difficult activity?and Design a difficult activity?

Studies the problems and needs of an

organization looking for improvement

opportunities for:

– increasing revenue/profit

– decreasing costs

– improving quality of service

What does a Systems Analyst do?What does a Systems Analyst do?

Effective and efficient:

– CAPTURE of input data

– PROCESSING & STORAGE of data

– DELIVERY of timely and accurate

information

What is a Systems Analyst responsible for?What is a Systems Analyst responsible for?

Requirements Specification(3)

General Model of Information Systems Development (“Partnership”)

Stakeholder

InformationTechnology

Staff

AnalysisDesign

andImplementation

Requirements(1) Continued

Involvement(5)

InformationSystem (6)

ProblemDefinitionSkills (2)

ProblemSolutionSkills (4)

• Planning• Feasibility Study (optional)• Requirements Determination• Conceptual Design• Physical Design • Construction and/or Purchase (prototype)• Conversion - old to new• Training• Implementation• Evolution - maintenance &

enhancements

SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)A

naly

sis

Desig

n

Norman Ch 2 Feasibility & RD• 30-33 Feasibility Analysis• 33-35 Requirements Determination• 36-37 Problem Domain• 37-38 Frameworks for RD• 40-44 Kozar’s Requirements Model• 44-45 Object-Oriented RD• 46, 47, 50, 51

• FEASIBILITY (in information systems development)

is the measure of how beneficial the development or

enhancement of an information system will be to the

business

• FEASIBILITY ANALYSIS is the process by which

feasibility is measured

FEASIBILITY ANALYSIS

• OPERATIONAL FEASIBILITY is the measure of how well a

particular information system will work in a given

environment

• TECHNICAL FEASIBILITY is the measure of the practicality of

a specific technical information system solution and the

availability of technical resources

• ECONOMIC FEASIBILITY is the measure of the cost-

effectiveness of an information system solution

FEASIBILITY TYPES

1. Systems Development Costs (one-time; representative only)

Personnel:• 2 Systems Analysts (450 hours/each @ $45/hour) $40,500• 5 Software Developers (275 hours/each @ $36/hour) 49,500• 1 Data Communications Specialist (60 hours @ $40/hour) 2,400• 1 Database Administrator (30 hours @ $42/hour) 1,260• 2 Technical Writers (120 hours/each @ $25/hour) 6,000• 1 Secretary (160 hours @ $15/hour) 2,400• 2 Data Entry clerks during conversion (40 hrs/ea @ $12/hr) 960

Training:• 3 day in-house course for developers 7,000• User 3 day in-house course for 30 users 10,000

Supplies:• Duplication 500• Disks, tapes, paper, etc. 650

Purchased Hardware & Software:• Windows for 20 workstations 1,000• Memory upgrades in 20 workstations 8,000• Mouse for 20 workstations 2,500• Network Software 15,000• Office Productivity Software for 20 workstations 20,000

TOTAL SYSTEMS DEVELOPMENT COSTS: $161,670

2. Annual Operating Costs (on-going each year)

Personnel:• Maintenance Programmer/Analyst (250 hrs/year @ $42/hr) $10,500• Network Supervisor (300 hrs/year @ $50/hr) 15,000

Purchased Hardware & Software Upgrades:• Hardware 5,000• Software 6,000

Supplies and Miscellaneous items 3,500

TOTAL ANNUAL OPERATING COSTS: 40,000

-----------------------------------------------------------------------------------------------------------

TOTAL COST TO DEVELOP AND OPERATE THE SYSTEM: $201,670==========

What are Requirements?

• Requirements are criteria that are

necessary, needed, or demanded.

• Requirements are implicit or explicit

criteria that must, should, or might be met.

• Requirements equal the wants and needs

of the user(s).

Three (3) alternative ways to think about Requirements:

Observations about Requirements

• Requirements are not supposed to dictate any details regarding the implementation of a solution.

• We commonly define differing levels of necessity for our requirements, such as “absolutely must be satisfied”, “nice to have”, and “optional”.

• Some requirements may apply to an entire system, while others apply only to part of the system.

• Compromise is often necessary for conflicting requirements from different user(s).

• Some requirements are static, while others are dynamic and evolve or emerge over time.

• Requirements are not always easy to explain (communicate), understand, or document.

Types of Requirements

• User-Driven– not desirable

• User-Reviewed– user and analyst working together

• User-Independent– software product vendors

There are three major types of requirements:

Be Suspicious of the Quality of Requirements

• Omissions

• Contradictions

• Ambiguities

• Duplications

• Inaccuracies

• Introduced elements

• Too much design

• Irrelevant information

Requirements usually have one ormore of the following 8 problems:

Framework: Requirements Model (Kozar)*

A strategy that links information systems activities with

established business activities.

PREMISE: Information systems support business

activities; therefore, associating information systems

activities with business activities should be possible.

Provides verification and validation (V & V) traceability

* Adapted from Kozar, K.A., Humanized Information Systems Analysis and Design, McGraw-Hill Inc., 1989, pp. 61-62 and personal communication with the author.

A change of some type

forces changed enterprise needs

causing changed user behaviors

requiring changed information needs

requiring changed I.S. activities

STIMULI

BUSINESSOBJECTIVES

BUSINESSTACTICS

INFO. SYS.OBJECTIVES

INFO. SYS.TACTICS

BENEFITS

COSTS

BENEFITS

COSTS

Hired a marketing consultant

Recommends better trackingof where sales orders come from

Mkt. code on each promo. piecemailed out

Develop mkt. codesTrack sales based on mkt. codesReports showing promo. piece effectiveness

Modify Sales Order Fulfillment Sys(about 2 dozen changes)

Kozar’s Requirements Model

• Problem Domain component (PD)

• Human Interaction component (HI)

• Data Management component (DM)

• System Interaction component (SI)

The preceeding four (4) activities are performed for each of four (4) Object Model Components:

AN OBJECT-ORIENTED REQUIREMENTS DETERMINATION METHODOLOGY

1. Identify the purpose and features of

the information system

2. Identify objects and patterns

3. Establish object responsibilities -

attributes, relationships, and services

4. Work out the information system’s

dynamics using scenarios

Four Activities:

AN OBJECT-ORIENTED REQUIREMENTS DETERMINATION METHODOLOGY

Some Final Thoughts Regarding Requirements Determination

• People ARE Different! (Thinking & Behaviors)

• Each Software Development Project Is Different!

• Requirements Determination Is an Iterative Process

• Some Sub-Processes May Be Accomplished Concurrently

• The Requirements Determination Effort May Be Accomplished At More Than One Point In the Life-Cycle

• The Requirements Determination Effort May Be Driven By External or Uncontrollable Circumstances

• Requirements Determination Should Not Be Driven By Low-Level Issues

• Verification, Validation, and Quality Assurance Are Always Important for Requirements Determination

• Corrections and changes to Requirements late in the SDLC may cost between 30 and 70 times their cost if done initially

Norman Ch 3 O-O Model

• 55-56 Methodologies• 60-66 Key Characteristics of O-O• 68-71 Coad’s OO A&D

Methodology• 73 component definitions• 73-82 An Object-Oriented Model

METHODOLOGY OVERVIEW

• Classifications of Methodologies• Traditional• Structured Analysis and Design• Information Modeling/Engineering

• Object-Oriented

• Prototyping is a technique - (some

say that it is a methodology)

Object Technology Principles• Abstraction

• Encapsulation (Information Hiding)

• Inheritance

• Message Communication

• Associations

• Polymorphism

• Common Methods of Organization

• Reuse

• AbstractionA mental ability that permits people to view real-world

problem domains with varying degrees of detail depending on the current context of the problem.

• Helps people to think about what they are doing• Functional and Data abstraction

• Encapsulation (Information Hiding)

A technique in which data are packaged

together with their corresponding procedures.

cakeIngredients

Directions

2 eggs 4 cups flour1 cup milk 1 cup sugaretc.......

Pre-heat oven to 350; Putmilk, eggs, and sugarin 2 quart mixing bowl...

4 In Object-Oriented Technology the “package” is called an OBJECT

4 The interface to each object is defined in such a way as to reveal as

little as possible about its inner workings

4 Encapsulation allows [software] changes to be reliably made with

limited effort [Gannon, Hamlet, & Mills, 1987]

One cake please!

• InheritanceA mechanism for expressing similarity

between things thus simplifying their

definition.

• looks• behavior• attitudes• etc...

Person

Student Faculty Staff

Inheritance

• Message Communication

OBJECT

OBJECT

OBJECT

OBJECT

Objects communicate via messages

• AssociationsThe union or connection of ideas or things.

(Objects need to interact with each other)

• same point in time

Billing StatementAdvertisement #1Advertisement #2

• under similar circumstances

crimescene

#1

crimescene

#2

crimescene

#n

• Polymorphism (“many forms”)

The ability to hide different implementations

behind a common interface.

The ability for two or more objects to respond

to the same request, each in its own way.

• H O = water, ice, steam (liquid, solid, vapor)

• Eating

2

versusDoor

#1Door

#2Door

#3

Door#1#2#3

• Polymorphism Two examples

PRINT

0

500010000

15000

2000025000

30000

North South East West

B L U E S K Y A I R L I N E SSales ReportJanuary

B L U E S K Y A I R L I N E SSales ReportFebruary

PRINT

PRINT

TEXT object

GRAPH object

IMAGE object

Object #1 PO object

Account object

Department object

Object #2

Object #3

Add

Add

Add

= add a line item to the PO

= increase $ Amount Balance

= hire a new employee

•Objects and their characteristics

•Wholes and Parts

•Groups (Classes) and Members

Classification Theory(Common Methods of Organization)

O-O Systems Analysis & Design Methodology

• Common Methods of Organization

People are accustomed to thinking in terms

of...

• color• price• weight• engine• options...

Objects & Attributes

• number of doors• number of wheels• number of windows• number of lights• number of bolt type 1• number of bolt type 2• etc....

Wholes and PartsGroups & Members

VANS:• light utility• utility• passenger• etc...

• Reuse

Varying Degrees of Reuse:

• complete or sharing

• copy, purchase or cloning

• partial or adjusting

• none

The ability to reuse objects

Software:• “Chips”• Components• Controls• Models

Model Components• Problem domain -- directly correspond to

the problem being modeled• Human interaction -- provide interface

between the PD objects and people• Data management -- provide interface

between PD objects and a database or file management system

• System interaction -- provide interface between PD objects and other systems or devices

Coad’s Object Model Notation

class with objects

model component

class

Coad’s Object Model Notation

MembermemberNumberfirstNamelastNametelephoneaddresscityetc...

checkOutVideocheckInVideobuyItemetc...

Attributes

Services

{{

Expanded view

of a class or

class with objects

into its three

sections:

top: Class Name

middle: attributes

bottom: services

Coad’s Object Model Notation

object connection messagen

n

generalization-specializationconnection

whole-partobject connection

n-n

1

n

Norman Ch 4 Objects & Classes• 87-88 Objects & Classes• 89 Figure 4.2• 89-91 Class Attributes & Services

Defined• 92 Finding Objects• 95-96 (challenging objects)

Defining ObjectsAn OBJECT is an abstraction of a person, place,thing, or concept within the problem domain thatthe information system must be aware of.

...Objects are “instantiated” (created)

...the term “instance” is interchangeable with “object”

• Objects have three responsibilities:

What they know about themselves - Attributes

What they know about other objects - Relationships

What they do - Operations

Objects

A CLASS with no objects is

often

referred to as an ABSTRACT

CLASSPerson

AdministratorFaculty Student

Rules and Guidelines for the Object Model Notation

1. Objects must always belong to a class.2. The first letter of class names and the first letter of each word

in the class name should be capitalized. Examples: Student, Bicycle, DataEntryClerk.3. All names of classes, attributes and services should be

singular. Examples: Student instead of Students; Bicycle instead of Bicycles; DataEntryClerk instead of DataEntryClerks.

4. All names of classes, attributes and services should be meaningful. Examples: SalesDept, AccountsPayable, Cashier, SaleLineItem.

5. The class notation symbol is partitioned into 3 parts: Name, attributes and services.6. Attribute and service names should start with a lower case

letter; each additional word used in the name should begin with a capital letter. Example: studentIdNumber, inventoryControlNumber, gradePointAverage, requestTranscript, calculateSalesTax.

CHALLENGE CLASSES/OBJECTS BASED ON:

• More than one Attribute

• Needed services

• Needed remembrance

• More than one Object

• Avoid derived (computed) results

Norman Ch 5 Attributes

• 103-106 Attributes• 107-108 Attribute Types• 109-112 Both sections on OO

Strategy– be sure to check your errata sheet

Single Value Attributes Example

StudentstudentNamestudentIDNumbereyeColorheightweightdateOfBirthetc...

studentName studentIDNumber eyeColor height weight dateOfBirth

MIchael W Smith

Amy Grant

Blue

Brown

155

118

4-12-74

12-2-73

559-46-0912

371-38-7640

5ft 9in

5ft 6in

services

Mutually Exclusive Attribute Values Example

Employee

employeeNameemployeeIDhourlyRateweeklySalary

employeeName employeeNumber hourlyRate weeklySalary

MIchael W Smith

Amy Grant

$9.75559-46-0912

371-38-7640 $475.00

mutually exclusive attributes with values

services

Object-Oriented Strategy for Mutually Exclusive Attributes

Employee

HourlyEmployee SalariedEmployee

Hourly-SalariedEmployee

attributesservices

attributes attributes

attributes

services services

services

Multi-Value Attributes Example

StudentstudentNamestudentIDNumbercollegeAttendedcollegeGradePointAvg

studentName studentIDNumber collegeAttended collegeGradePointAvgMIchael W Smith

Amy Grant

M.C. Hammer

GrossmontPoint Loma

NY Univ.

Golden GateGeorgia StateU of San Diego

559-46-0912

371-38-7640

270-73-9815

2.92.7

3.2

2.22.93.1

multi-value attributes with values

services

StudentstudentNamestudentIDNumber

CollegeAttended

collegeAttendedgradePointAvg

0,m

1

Student and CollegeAttendedWhole-Part Class with Objects Connection

MIchael W Smith

Amy Grant

M.C. Hammer

559-46-0912

371-38-7640

270-73-9815

GrossmontPoint Loma

NY Univ.

Golden GateGeorgia StateU of San Diego

2.92.7

3.2

2.22.93.1

services

services

collegeAttended gradePointAvg

studentName studentIDNumber

Norman Ch 6 Connections

• 117 “Who I Know”• 118 Object Patterns• 118-124 Gen-Spec Pattern• 125- top 126 Gen-Spec Inheritance• 128-136 Whole-Part• 136-139 Object Connection

Patterns

The generalization-specialization (Gen-Spec) pattern

Generalization

Specialization1 Specialization2 SpecializationN

attributesservices

attributes

services

attributes

services

attributes

services

. . .

• Gen-Spec can be used to resolve mutually exclusive attributes

Generalization-Specialization Class Connection

Faculty Student

Person

Administrator

attributes

services

attributes

services

attributes

services

attributes

services

Gen-Spec Example

1. A gen-spec follows the “is a” or “is a kind of” heuristic.

2. The gen-spec notation symbol is an ARC or semicircle.

3. The line connecting a generalization with a specialization starts with the generalization’s class squircle (bold line symbol) and ends with the specialization’s class squircle (bold line symbol).

4. Specialization objects are not connected to any generalization objects as they are separate and distinct.

5. Specializations have their own attributes and/or services as well as inheriting additional attributes and/or services from the generalization node above them.

6. Inherited attributes and services may be overriden or enhanced at the specialization node level.

7. Multiple inheritance is allowed but can complicate the object model’s understanding and implementation.

Generalization-Specialization Pattern Guidelines

Whole-Part Object Connection

Whole

Part1 Part2 PartN

x

x

x

x

x

x

attributesservices

attributesservices

attributesservices

attributesservices

Note: In this template, “x” represents many possible object connection constraints, such as: 0 - n 1 - n 1 - 5 1 25 any integer

• Whole-Part can be used to resolve multi-value attributes

• 1. A whole-part object connection follows the “has a” heuristic which is read from the WHOLE to the PART

• 2. The whole-part notation symbol is a TRIANGLE.

• 3. The line connecting a WHOLE with a PART starts with the Whole’s Object squircle (thin line symbol) and ends with the Part’s Object squircle (thin line symbol).

• 4. A Part Object may or may not be connected to a Whole Object depending on the Object Connection Constraint.

• 5. Whole Objects have their own distinct attributes and services and so do the Part Objects - there is NO inheritance.

• 6. Whole-Part object connections use the “object connection constraint” concept.

Whole-Part Object Connection Pattern Guidelines

Object Connections

• “Softer” connection than a whole-part

• Necessary for a Class with Objects to

fulfill its responsibilities

• Includes “object connection constraints”

just as whole-part connection

Norman Ch 7 Services & Scenarios• 149-150 “What I Do”• 151-154 Basic Services• 154-159 PD Specific Services• 164-165 Techniques• 165-166 Scenarios• 166-168 Pseudocode

Services• Synonyms: methods and functions

• Definition: Actions performed to fulfill

the purpose of the information system

and meet the needs of the user.

• Respond to an event that happens:•External events - business activities

• Internal events - messages sent to accomplish

a service’s intended purpose

Types of Services

• Basic - implied or implicit (not listed)

•create an object

•search for an object

•get and set attribute values

•add and remove object connections

•delete an object

• Problem domain specific

Encapsulation and Reuse Services Example

Student

addClass

NOTE: The addClass service requests the assistance of each ofthe other services (which are either part of the Student Class or some other Class within the information system) in order to carry out its intended purpose.

ClassName

enterStudentIDNumbervalidateIDNumberenterClassScheduleNumbervalidateClassScheduleNumbercheckSeatAvailabilitycheckStudentRestrictionsreserveSeatInClass

addClass responds to external event; others respond to internal event

Describing Service Details

• Scenarios

• Structured English or Pseudocode

• Decision Tables and Decision Trees

• State-Transition Diagrams

Scenarios• Specific time-ordered sequence of object

interactions

• Service scenarios have three parts:

• sender class & service (optional)

• receiver class and service

• parameters & number of invocations (optional)