final exam review ids 306 spring 1999 vicki murphy 5/11/99
Post on 19-Dec-2015
215 views
TRANSCRIPT
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
• 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
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
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
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