Professional Documents
Culture Documents
Major Topics
Information systems SDLC (Systems Development Life Cycle) Phases of analysis and design CASE tools
1-2
Information
What is information? Domain dependent Facts, concepts, or instructions; any sort of knowledge or supposition which can be communicated. Organizational resource Must be managed as carefully as other resources (e.g., raw material, labor) Costs are associated with information processing Production, distribution, security, storage, retrieval, Information processing must be managed to take full advantage of its potential
1-3
Systematic approach
Pros and cons?
1-5
1-6
Systems Analyst
Performs systems analysis and design Assesses how businesses function by examining the inputting and processing of data and the outputting of information with the intent of improving organizational processes
1-7
..
1-10
1-12
1-14
Personnel involved
Analyst User managers Systems managers
1-16
Design files and/or database Design control and backup procedures Produce decision trees or tables Produce program specifications
1-17
1-18
1-20
Personnel involved
Analyst System designer Programmers Systems management
1-21
System Maintenance
Maintenance: starts in phase 6 but carried out routinely throughout the life of the IS System maintenance is
Removing undetected errors, and Enhancing existing software
Time spent on maintenance typically ranges from 48-60 percent of total time
1-22
System Enhancements
Systems are enhanced for the following reasons:
Adding additional features to the system Business and governmental requirements change over time Technology, hardware, and software are rapidly changing
1-23
1-25
CASE Tools
Computer-Aided Software Engineering (CASE) CASE tools are automated, microcomputer-based software packages for systems analysis and design Four reasons for using CASE tools are:
To increase analyst productivity Facilitate communication among analysts and users Providing continuity between life cycle phases To assess the impact of maintenance
1-26
Upper CASE
Upper CASE tools
Create and modify the system design Store data in a project repository The repository is a collection of records, elements, diagrams, screens, reports, and other project information These CASE tools model organizational requirements and define system boundaries
1-28
Lower CASE
Lower CASE tools generate computer source code from the CASE design Source code may usually be generated in several languages
1-29
Reverse Engineering
Reverse engineering is generating the CASE design from computer program code Source code is examined, analyzed, and converted into repository entities Uses Computer-Assisted Reengineering (CARE) software
1-31
Major Topics
Interviewing techniques Joint Application Design (JAD) Questionnaires
4-35
Phase 2 Determining information requirements Phase 6 Testing and maintaining the system
Phase 5 Developing and documenting software Phase 4 Designing the recommended system
4-36
Unobtrusive: do not require the same degree of interactivity between analysts and users
Our focus: Interactive methods
Interviewing JAD Questionnaires Example: observing
Example: interviewing
4-37
Interviewing
Important method for collecting data on information system requirements Directed conversation with a specific purpose that uses Q&A format Reveals information about
Interviewee opinions Feelings about the current state of the system Organizational and personal goals Informal procedures
4-38
4-39
4-40
4-41
4-43
Cons
Losing vital eye contact Losing the train of conversation Causing excessive attention to facts and less attention to feelings
4-44
4-45
Opening Questions
Start with pleasant conversation Listen closely to early responses
Pick up on vocabulary
4-46
4-47
4-48
Interview Report
Write as soon as possible after the interview Provide an initial summary, then more detail Review the report with the respondent
4-49
Question Types
There are two basic types of interview questions:
Open-ended Closed
4-50
Open-Ended Questions
Allow interviewees to respond how they wish, and to what length they wish
E.g.: Once the data is submitted via the Web site, how is it processed?
4-55
4-56
Bipolar Questions
Questions that may be answered with a yes or no or agree or disagree
E.g.: Do you want to receive a printout of your account status every month? E.g.: Do you agree or disagree that ecommerce on the Web lacks security?
4-57
Probing Questions
Elicit more detail about previous questions The purpose of probing questions is
To get more meaning To clarify To draw out and expand on the interviewee's point
E.g.: Please give an illustration of the security problems youre experiencing with your online systems?
4-58
4-59
Question Pitfalls
Leading questions: imply an answer
Tend to guide interviewees into responses apparently desired by the interviewer Should be avoided to reduce bias and improve reliability and validity E.g.: You agree with other managers that inventory control should be computerized, dont you?
Question Sequencing
There are three basic ways of structuring interviews:
Pyramid Funnel Diamond
4-61
Pyramid Structure
Begins with very detailed, often closed questions Expands by allowing open-ended questions and more generalized responses Is useful if interviewees need to be warmed up to the topic or seem reluctant to address the topic
4-62
Funnel Structure
Begins with generalized, open-ended questions Concludes by narrowing the possible responses using closed questions Provides an easy, non-threatening way to begin an interview Is useful when the interviewee feels emotionally about the topic
4-63
Diamond Structure
A diamond-shaped structure begins in a very specific way Then more general issues are examined Concludes with specific questions Is useful in keeping the interviewee's interest and attention through a variety of questions
4-64
4-65
JAD Personnel
Analysts Users, executives, (8 to 12) Observers (technical experts) A scribe: write down everything A session leader
Senior person: visible symbol of organizational commitment May be outside management consultant
4-67
Make use everybody will be able to attend Orientation meeting (1/2 day) a week before the workshop
4-68
Benefits of JAD
Time is saved, compared with traditional interviewing (15%) Rapid development of systems Improved user ownership of the system Creative idea production is improved
4-70
Questionnaires
Also called Surveys Respondent: person answering a questionnaire (or survey) Useful in gathering information from key organization members about
Attitudes: what people say they want (in the new system) Beliefs: what people think is actually true Behaviors: what organizational members do Characteristics: properties of people or things
4-72
Problem solving prior to interviews is necessary May be used in conjunction with interviews
How widespread or limited an opinion expressed in an interview really is Raise important issues before interviews are scheduled Follow-up unclear questionnaire responses with interviews Design questionnaires based on what was discovered in interviews
4-73
Question Types
Questions are designed as either
Open-ended
Try to anticipate the response you will get Well suited for getting opinions Useful in explanatory situations Useful when it is impossible to list effectively all possible responses to a question
Closed
Use when all the options may be listed When the options are mutually exclusive
4-74
Speed of completion Exploratory nature Breadth and depth Ease of preparation Ease of analysis
Questionnaire Language
Simple: use the language of respondents whenever possible Specific and short questions Free of bias Not patronizing: avoid low-level language choices Technically accurate Right question to the right person: addressed to those who are knowledgeable Appropriate for the reading level of the respondent
4-76
4-77
Measurement Scales
There are four different forms of measurement scales:
Nominal Ordinal Interval Ratio
4-78
Nominal Scales
Nominal scales are used to classify things into categories
What type of software do you use the most? 1 = Word Processor 2 = Spreadsheet 3 = Database 4 = An Email Program
4-79
Ordinal Scales
Allow classification Ordinal scales also imply rank ordering
The support staff of the Technical Support Group is: 1. Extremely Helpful 2. Very Helpful 3. Moderately Helpful 4. Not Very Helpful 5. Not Helpful At All
4-80
Interval Scales
An interval scale is used when the intervals are equal There is no absolute zero
How useful is the support given by the Technical Support Group? NOT USEFUL EXTREMELY AT ALL USEFUL 1 2 3 4 5
4-81
Ratio Scales
The intervals between numbers are equal Ratio scales have an absolute zero
Approximately how many hours do you spend on the Internet daily? 0 2 4 6 8
4-82
Validity: Degree to which the question measures what the analyst intends to measure
4-84
4-85
Questionnaire Format
Allow ample white space Allow enough space for responses to be typed for open-ended questions Ask respondents to clearly mark their answers Be consistent in style
4-86
Order of Questions
Most important questions go first Similar topics should be clustered together Controversial questions should be positioned after less controversial questions
4-87
Major Topics
Data flow diagram symbols Data flow diagram levels Creating data flow diagrams Physical and logical data flow diagrams Partitioning
90
Phase 2 Determining information requirements Phase 6 Testing and maintaining the system
Phase 5 Developing and documenting software Phase 4 Designing the recommended system
91
Why DFDs?
Freedom from committing to the technical implementation too early Understanding of the interrelationships of systems and subsystems Communicating current system knowledge to users
93
External Entities
Represent people or organizations outside of the system being studied Shows the initial source and final recipient of data and information Should be named with a noun, describing that entity
Customer
95
Processes
Represent either:
A whole system A subsystem Work being done, an activity
1 Add New Customer
2 Customer Inquiry Subsystem
Data Stores
Name with a noun, describing the data Data stores are usually given a unique reference number, such as D1, D2, D3 Include any data stored, such as:
A A A A computer file or database transaction file D1 set of tables manual file of records
Customer Master
98
New Customer
Data Flow
Customer Record
Shows the data about a person, place, or thing that moves through the system Names should be a noun that describes the data moving through the system Arrowhead indicates the flow direction Use double headed-arrows only when a process is reading data and updating the data on the same table or file
99
101
The process is given the number zero (0) Includes all external entities as well as major data flow to and from them The diagram does not contain any data stores
102
Diagram 0
Diagram 0 is the explosion of the context level diagram (i.e., process 0) Should include up 9 processes
Any more will result in a cluttered diagram
Processes are numbered with an integer The major data stores and all external entities are included in Diagram 0
103
Child Diagrams
Each process on diagram zero may be (if not primitive) exploded to create a child diagram Each process on a lower-level diagram may be (if not primitive) exploded to create another child diagram A diagram found below Diagram 0 is given the same number as its parent process
Process 3 in Diagram 0 would explode to Diagram 3
104
106
108
110
D1
Customer
Vendor
D2
Vendor Master
111
113
116
117
Event Tables
An event table is used to create a data flow diagram by analyzing each event and the data used and produced by the event Every row in an event table represents a unique activity and is used to create one process on the data flow diagram
118
DFD Progression
The progression of creating DFDs is
Create a logical DFD of the current system Next add all the data and processes not in the current system which must be present in the new system Finally derive the physical data flow diagram for the new system
119
Logical DFDs
Logical data flow diagrams show how the business operates Represent features that would exist no matter what the physical means of doing business are. Processes that would exist regardless of the type of system implemented
120
121
Physical DFDs
Show how the system operates or how the new system will be implemented Physical DFDs include
Clarifying which processes are manual/automatic Describing processes in greater detail Sequencing processes to rearrange the order of records Validation processes for ensuring accurate data input Intermediate data stores Actual document and file names Controls to ensure accuracy and completeness
122
CRUD Matrix
Physical DFDs include processes for adding, reading, changing, and deleting records CRUD is an acronym for Create, Read, Update, Delete A CRUD matrix shows which processes add, read, update, or delete master file records
123
Partitioning
Process of analyzing a DFD and deriving a series of manual procedures and computer programs A dashed line is drawn around a group of processes that are included in each computer program or manual procedure
124
Manual Procedures
Performed by people Have manual input and manual output Computer processing not used with manual processes
125
Batch Processes
If the data flow into and out of a process is entirely computer information, the process is called a batch process Batch processes do not require any human intervention A job stream is several separate programs running back-to-back, usually a series of batch processes 126
User Interface
A user interface represents a screen, a data entry operation, a report, or some other means for persons to interact with a computer It occurs when the data flow links a manual and an automated process
127
Using DFDs
Unexploded data flow diagrams are useful to identify information requirements Exploded data flow diagrams can be used for presentation, education, and gathering feedback information from users DFDs may be used to analyze the system to ensure that the design is complete DFDs are used to partition the system into programs Data flow diagrams can be used for the system documentation
129
Major Topics
Data dictionary concepts Defining data flow Defining data structures Defining elements Defining data stores
131
Phase 2 Determining information requirements Phase 6 Testing and maintaining the system
Phase 5 Developing and documenting software Phase 4 Designing the recommended system
132
Data Dictionary
Reference work of data about data (metadata) Main method for analyzing data flows and data stores Collects, coordinates, and confirms what a specific data term means to different people in the organization
133
The Repository
A data repository is a large collection of project information It includes
Information about system data Procedural logic Screen and report design Project requirements and deliverables Project management information (e.g., delivery schedules, achievements, )
135
Data stores
Data store description form
136
An area for further comments and notations about the data flow
139
141
Algebraic Notation
The symbols used are
Equal sign, meaning consists of Plus sign, meaning "and Braces {} meaning repetitive elements, also called repeating groups or tables Brackets [] for an either/or situation
The elements listed inside are mutually exclusive
Repeating Groups
A repeating group may be
A sub-form A screen or form table A program table, matrix, or array
5 1
{Order Line}
143
Structural Records
A structure may consist of elements or smaller structural records These are a group of fields, such as
Customer Name, Address, Telephone
Each of these must be further defined until only elements remain Structural records and elements used within many different systems should be given a non-systemspecific name
Telephone =
146
149
150
151
152
Element
154
157
Comments
This might be used to indicate the format of the date, special validation that is required, etc.
158
Length Input Format Output Format Default Value Continuous/Discrete Continuous Type Numeric Base or Derived Derived Upper Limit <999999 Lower Limit >18 Discrete Value/Meaning Comments The customer number must pass a modulus-11 check-digit test.
159
The data set name specifies the table or file name, if known
In the initial design stages, this may be left blank
The data structure should use a name found in the data dictionary
162
Comments
163
Data dictionary entries may be used to validate parent and child DFD level balancing
166
170
172
174
Major Topics
Process specifications Decision tables
Phase 2 Determining information requirements Phase 6 Testing and maintaining the system
Phase 5 Developing and documenting software Phase 4 Designing the recommended system
177
Process Specifications
Process specifications (minispecs) are created for primitive processes and some higher level processes on a DFD Documenting and analyzing the logic of structured decisions
Structured English Decision trees Decision tables
178
Process Logic
Process descriptions may exist on a form or within a CASE tool repository Process logic may be represented as
Structured English A decision table A decision tree Any combination of the above
181
The process name, the same as displays within the process symbol on the DFD A brief description of what the process accomplishes
182
Description Key and add the Customer Order. The order should be edited for correct information. Customer and Item master files are updated. Input Data Flow Customer Order Form from the Customer Customer Record from data store D1, Customer Master File Item Record from data store D2, Item Master File
185
186
Decision Tables
Decision tables provide a way to examine, describe, and document decisions using a table They are used to
Describe the conditions Identify possible decision alternatives Indicate actions should be performed, and Describe actions
187
Decision Tables
Decision tables help analysts ensure completeness and accuracy Four main problems that can occur in developing decision tables
Incompleteness Impossible situations Contradictions Redundancy
188
Horizontal Balancing
Horizontal balancing means that all output data flow must be either on input data flow or described in the process logic It is used to verify that each process has the required data dictionary entries defined and the formulas and logic necessary to produce the output
191
192
Phase 2 Determining information requirements Phase 6 Testing and maintaining the system
Phase 5 Developing and documenting software Phase 4 Designing the recommended system
194
Major Topics
Databases ER Model Relational Model Normalization Key design
195
Metadata
Metadata is the information that describes data in the database
Used to help users understand the form and structure of the data Also called schema in databases
197
198
Entities
A distinct collection of data for one person, place, thing, or event
Customer
199
Keys
Primary key, unique for the record Secondary key, a key which may not be unique Concatenated key, a combination of two or more data items for the key Foreign key, a data item in one record that is the key of another record
201
Entity Subtype
An entity subtype represents data (fields) about an entity that may not be found on every instance of an entity
Preferred customers may have special fields containing discount information
Attributive Entity
Attributive Entity - describes attributes, especially repeating elements Attributive entities tables, table files or database code tables
Book Subject
203
Relationships
Relationships may be
One-to-one One-to-many Many-to-many
A single vertical line represents one A circle represents zero or none A crows foot represents many
204
Relationships
Many Many One
O None
205
Ordinality
The ordinality is the minimum number that can occur in a relationship If the ordinality is zero, it means that it is possible to have none of the entity
Item
O
Order
206
Self-Join
A self-join is when a record has a relationship with another record on the same entity
Student partners with another student on a project
207
Associative Entity
Associative Entity - links two entities An associative entity can only exist between two entities The relationship line between a many-to-many relationship becomes an associative entity, sometimes called a composite entity or gerund
Order Item
208
209
210
Databases
A database is intended to be shared by many users There are three structures for storing database files:
Hierarchical database structures Network database structures Relational database structures
212
Normalization
Normalization is the transformation of complex user views and data to a set of smaller, stable, and easily maintainable data structures Normalization creates data that are stored only once on a file
The exception is key fields This eliminates redundant data storage
213
Unnormalized Relationship Remove repeating groups Normalized Relations (1NF) Remove partial dependencies Second Normal Form Relations (2NF) Remove transitive dependencies Third Normal Form Relations (3NF)
214
A relation is created for the data that are only dependent on part of the key and another for data that are dependent on both parts
217
The problem with transitive dependencies is updating the data A single data item may be present on many records
218
Integrity Constraints
There are three integrity constraints that help to ensure that the database contains accurate data:
Entity integrity constraints, which govern the composition of primary keys Referential integrity, which governs the denature of records in a one-to-many relationship Domain integrity
220
Entity Integrity
Entity integrity constraints are rules for primary keys:
The primary key cannot have a null value If the primary key is a composite key, none of the fields in the key can contain a null value
221
Referential Integrity
Referential integrity governs the denature of records in a one-to-many relationship Referential integrity means that all foreign keys in one table (the child table) must have a matching record in the parent table
222
Referential Integrity
Referential integrity includes
You cannot add a record without a matching foreign key record You cannot change a primary key that has matching child table records
A child table that has a foreign key for a different record
Referential Integrity
A restricted database updates or deletes a key only if there are no matching child records A cascaded database will delete or update all child records when a parent record is deleted or changed The parent triggers the changes
224
Domain Integrity
Domain integrity defines rules that ensure that only valid data are stored on database records
Domain integrity has two forms:
Check constraints, which are defined at the table level Rules, which are defined as separate objects and may be used within a number of fields
225
Thank you...