System Analysis and Design Notes
System Analysis and Design
Session 1: Systems, Roles, Development Methodologies
Resources: Chapter 1 of "Systems Analysis and Design" (10th Edition) by Kendall & Kendall (2019).
Learning Objectives
Understand the need for systems analysis and design in organizations.
Realize the various roles of a systems analyst.
Comprehend the fundamentals of three development methodologies:
The systems development life cycle (SDLC).
The agile approach, including Scrum.
Object-oriented systems analysis and design.
Information as a Key Resource
Information fuels business and is critical for success or failure.
It needs to be managed correctly.
Managing computer-generated information differs from handling manually produced data.
Need for Systems Analysis and Design
Installing a system without proper planning leads to user dissatisfaction and system disuse.
Systems analysis and design provides structure to the analysis and design of information systems.
User involvement is critical for the successful development of computerized systems.
Roles of the Systems Analyst
Analysts must work with diverse people and be experienced with computers.
Three primary roles:
Consultant: Providing expert advice.
Supporting Expert: Offering specialized knowledge.
Agent of Change: Leading and facilitating organizational transformation.
Qualities of the Systems Analyst
Problem solver.
Communicator.
Strong personal and professional ethics.
Self-disciplined and self-motivated.
Systems Development Life Cycle (SDLC)
A phased approach to solving business problems.
Developed through a specific cycle of analyst and user activities.
Each phase has unique user activities.
The Seven Phases of the Systems Development Life Cycle
Identifying problems, opportunities, and objectives:
Activities include interviewing user management, summarizing knowledge, estimating project scope, and documenting results.
Output: Feasibility report containing problem definition and objective summaries for management decision-making.
Determining Human Information Requirements:
Activities include interviewing, sampling and investigating hard data (numbers, graphs), questionnaires, observing decision-maker behavior, prototyping, and understanding the who, what, where, when, how, and why of the current system.
Output: Analyst understanding of user work processes, insights for making the new system more useful and usable, knowledge of business functions, and complete information on people, goals, data, and procedures.
Analyzing System Needs:
Activities include creating data flow diagrams, completing the data dictionary, analyzing structured decisions, and preparing/presenting the system proposal.
Output: Recommendation on what, if anything, should be done.
Designing the Recommended System:
Activities include designing data entry procedures, designing the human-computer interface (HCI), designing files and/or databases, and designing backup procedures.
Output: Model of the actual system.
Developing and Documenting Software:
Activities include the system analyst working with programmers to develop original software, working with users to develop documentation, coding, and removing syntactical errors.
Software documentation includes procedure manuals, online help, FAQs, and Read Me files.
Output: Computer programs and system documentation.
Implementing and Evaluating the System:
Activities include training users, planning the conversion from the old system to the new system, and reviewing/evaluating the system.
Output: Trained personnel and installed system.
Testing and Maintaining the System:
Activities include testing the information system, system maintenance, and maintenance documentation.
Output: Identification of problems (if any), updated programs, and documentation.
The Impact of Maintenance
Maintenance is performed to remove software errors and enhance existing software.
Enhancements include additional features, addressing business changes over time, and addressing hardware and software changes.
Maintenance Impact
Over time, the cost of maintenance may exceed the cost of creating a new system, making a new systems study more feasible.
CASE Tools (Computer-Aided Software Engineering)
Productivity tools for systems analysts to improve routine work through automated support.
Reasons for using CASE tools:
Improving analyst-user communication.
Supporting modeling functional requirements.
Assisting in drawing project boundaries.
Project information is stored in the CASE repository, a large collection of records, elements, diagrams, screens, reports, and other information.
Example deliverables:
System Diagrams and Models
Data Dictionary and Process Logic
Deliverables
Screen and Report Design SALES ANALYSIS REPORT ADD CUSTOMER NUMBER XXXXXX ITEM DESCRIPTION TOTAL SALES XXXXXXXXXXXX ZZ,ZZ9 Screen and NAME XXXXXXXXXXXX XXXXXXXXXXX ZZ ZZ9 STREET XXXXXXXXX XXXXXXXXXX ZZ,ZZ9 CITY XXXXXXXXX ZZ,ZZ9 STATE XX ZZ,ZZ9 ZIP XXXXX-XXXX XXX ZZ,ZZ9 Item = Number + Description + Cost + Price + Quantity on hand + Quantity on order+ System Diagrams and Models DO WHILE NOT End of file Read Item record IF Item is low in stock Print Purchase Order Update Item record ENDIF Data Dictionary and Process Logic Reorder point + Monthly sales + Year to date sales ENDDO
Project Management
System Requirements
Add new customers
Identify fast- and slow-selling items
Enter customer orders
Look up customer credit balance
Maintain adequate inventory
Deliverables
Add customer screen
Item Analysis Report
Customer order entry screen
Customer inquiry screen
Vendor purchase order program
Seasonal forecasting
The Agile Approach
A software development approach based on:
Values: Communication, simplicity, feedback, courage.
Principles: Customer satisfaction, speedy delivery.
Core practices: Short releases, the 40-hour workweek, onsite customer, pair programming.
Interactive and incremental, with frequent iterations essential for successful system development.
Five Stages of the Agile Modeling Development Process
Exploration:
Assemble team.
Assess skills.
Examine potential technologies.
Experiment with writing user stories.
Adopt a playful and curious attitude.
Planning:
Maximize the value of the system produced.
Main players: development team and the business customer.
Iterations to the First Release:
Cycles of testing, feedback, and change.
Goal: Run customer-written function tests at the end of each iteration.
Productionizing:
The product is released.
Improved by adding features.
Daily briefings.
Maintenance:
New features may be added.
Riskier customer suggestions may be considered.
Team member rotation.
Object-Oriented Systems Analysis and Design
An alternative to the structured approach of the SDLC.
Facilitates the development of systems that must change rapidly in response to dynamic business environments.
Uses Unified Modeling Language (UML) to model object-oriented systems.
Each object is a computer representation of an actual thing or event.
Steps in the UML Development Process
Define the Use Case Model:
Identify actors and major events initiated by actors.
Draw a use case diagram (stick figures and arrows).
Begin Drawing UML Diagrams:
Draw activity diagrams (major activities in the use case).
Create sequence diagrams (sequence of activities and timing).
Review and modify use cases.
Analysis Phase
Develop class diagrams
Draw statechart diagrams
System Design:
Modify the existing system.
Modify diagrams.
Write class specifications for each class.
Develop and Document the System:
Provide complete information to the development team through documentation and UML diagrams.
Choosing a Development Methodology
SDLC:
Use when systems have been developed and documented using SDLC, upper-level management feels comfortable, there are adequate resources and time, and communication of how new systems work is important.
Agile:
Use when there is a project champion of agile methods, applications need to be developed quickly, a rescue is needed, the customer is satisfied with incremental improvements, and executives and analysts agree with agile principles.
Object-Oriented:
Use when problems lend themselves to classes, an organization supports UML learning, systems can be added gradually, reuse of software is possible, and it is acceptable to tackle difficult problems first.
Open Source Software (OSS)
An alternative to traditional software development where proprietary code is hidden from users.
Users and coders can study, share, and modify the code.
Rules of OSS: Program modifications must be shared, and licenses must be adhered to.
Examples: Apache, Mozilla Firefox, Linux.
OSS communities are categorized into four community types – Ad hoc – Standardized – Organized – Commercial – along six different dimensions: general structure, environment, goals, methods, user community, and licensing.
Why Organizations Participate in Open Source
Rapid software development and testing.
Cross-fertilization and creativity.
Potential for keeping down development costs.
Session 2: Information Gathering: Interactive Methods
*Resources – Chapter 04: Kendall, K. E., & Kendall, J. E. (2019). Systems analysis and design. (10th Edition). Pearson Prentice Hall, USA.
Learning objectives
*Recognize the value of interactive methods for information gathering
*Construct interview questions to elicit human information requirements and structure them in a way that is meaningful to users
*Understand the purpose of stories and why they are useful in systems analysis
*Understand the concept of JAD and when to use it.
*Write effective questions to survey users about their work.
*Design and administer effective questionnaires.
Interactive Methods to Elicit Human Information Requirements
Interviewing.
Joint Application Design (JAD).
Questionnaires.
Major Topics
*Interviewing
*Interview preparation
*Question types
*Arranging questions
*The interview report
*User Stories
*Joint Application Design (JAD)
*Involvement
*Location
*Questionnaires
*Writing questions
*Using scales
*Design
*Administering
Interviewing
An important method for collecting data on human and system information requirements.
Reveals information about:
Interviewee opinions.
Interviewee feelings :opinions may be more important and more revealing than facts.
Goals: Facts explain past performance, but goals project the organization’s future.
Key HCI concerns
Interview Preparation
Reading background material: Corporate website, annual reports, newsletters.
Establishing interview objectives: Four to six key areas concerning HCI, information processing, and decision-making behavior.
Deciding whom to interview: Key people at all levels affected by the system.
Preparing the interviewee: Email questions ahead of time for in-depth interviews.
Deciding on question types and structure: Open-ended and closed questions.
Question Types
Open-ended:
Allow interviewees to respond freely without limitations.
Appropriate when the analyst is interested in breadth and depth of reply.
Closed:
Limit the number of possible responses.
Appropriate for generating precise, reliable data that is easy to analyze.
Open-Ended Interview Questions Examples
*What's your opinion of the current state of business-to-business ecommerce in your firm?
*What are the critical objectives of your department?
*Once the data are submitted via the website, how are they processed?
*Describe the monitoring process that is available online.
*What are some of the common data entry errors made in this department?
*What are the biggest frustrations you've experienced during the transition to ecommerce?
Advantages of Open-Ended Questions
Puts the interviewee at ease.
Allows the interviewer to pick up on the interviewee’s vocabulary.
Provides richness of detail.
Reveals avenues of further questioning.
Provides more interest for the interviewee.
Allows more spontaneity.
Makes phrasing easier for the interviewer.
Useful if the interviewer is unprepared.
Disadvantages of Open-Ended Questions
May result in too much irrelevant detail.
Possibly losing control of the interview.
May take too much time for the amount of useful information gained.
Potentially seeming that the interviewer is unprepared.
Possibly giving the impression that the interviewer is on a “fishing expedition.”
Closed Interview Questions
*How many times a week is the project repository updated?
*On average, how many calls does the call center receive monthly?
*Which of the following sources of information is most valuable to you?
Completed customer complaint forms
Email complaints from consumers who visit the website
Face-to-face interaction with customers
Returned merchandise
*List your top two priorities for improving the technology infrastructure.
*Who receives this input?
Benefits of Closed Interview Questions
Save interview time.
Easily compare interviews.
Quickly get to the point.
Maintain control of the interview.
Cover a large area quickly.
Obtain relevant data.
Disadvantages of Closed Interview Questions
May be boring for the interviewee.
May fail to obtain rich details.
May miss some main ideas.
May fail to build rapport between interviewer and interviewee.
Question Attributes Comparison
Attribute | Open-Ended | Closed | |
|---|---|---|---|
Reliability of Data | Low | High | |
Efficient Use of Time | Low | High | |
Precision of Data | Much | Little | |
Breadth and Depth | Much | Little | |
Interviewer Skill Required | Difficult | Easy | |
Ease of Analysis | Difficult | Easy |
Bipolar Questions
Answered with “yes” or “no” or “agree” or “disagree.”
Should be used sparingly.
A special kind of closed question.
Probes
Elicit more detail about previous questions.
Purpose:
To get more meaning.
To clarify.
To draw out and expand on the interviewee’s point.
May be either open-ended or closed.
Arranging Questions
Pyramid: Closed to open-ended.
Funnel: Open-ended to closed.
Diamond: Closed to open-ended to closed.
Pyramid Structure
Begins with detailed, closed questions.
Expands by allowing open-ended questions.
Useful if interviewees need warming up or seem reluctant.
Funnel Structure
Begins with generalized, open-ended questions.
Concludes by narrowing responses using closed questions.
Provides an easy, nonthreatening way to begin.
Useful when the interviewee feels emotionally about the topic.
Diamond Structure
Begins specifically, then examines general issues, and concludes with specific questions.
Combines the strength of both pyramid and funnel structures.
Takes longer than the other structures.
Closing the Interview
Ask “Is there anything else that you would like to add?”
Summarize and provide feedback.
Ask whom you should talk with next.
Set up future appointments.
Thank them for their time and shake hands.
Interview Report
Write as soon as possible after the interview.
Provide an initial summary, then more detail.
Review the report with the respondent.
Strengthening your Question types:
A CONSULTING OPPORTUNITY 4.2
You are about to leave SureCheck Dairy after a preliminary tour when another member of your systems analysis team calls you at the dairy to say he cannot make his interview appointment with the plant manager because of illness. The plant manager is extremely busy, and you want to keep his enthusiasm for the project going by doing things as scheduled. You also realize that without the initial interview data, the rest of your data gathering will be slowed. Although you have no interview questions prepared, you make the decision to go ahead and interview the plant manager on the spot.
You have learned that sales managers at SureCheck are all interested in processing their own data and producing their own reports on quantities and kinds of dairy products sold so that they can use that information to better control production of the company's large product line (it includes whole, skim, 2 percent, and 1 percent milk, half-and-half, cottage cheese, yogurt, and frozen novelties). Sales managers are currently sending their sales figures via the Web to corporate headquarters, 600 miles away, and even the production of online reports seems slow. You will base your ad-libbed questions on what you have just found out on the tour.
In the few minutes before your interview begins, decide on a structure for it: funnel, pyramid, or diamond. In a paragraph, justify why you would proceed with the interview structure you have chosen based on the unusual context of this interview. Write a series of questions and organize them in the structure you have chosen.
Skimming the Surface - Solution
A funnel structure takes a deductive approach by beginning with generalized, open-ended questions and narrowing the possible responses by using closed questions. This structure is the most appropriate for interviewing under the circumstances at SureChek Dairy.
The funnel structure provides an easy, non-threatening way to begin the interview. It gives the interviewer some time to gather more information from the generalized approach to determine what detailed information is needed as the interview continues.
It would not be advisable to begin the interview with specific questions because the interviewer is not well prepared for it. Therefore, the pyramid structure should not be used. The same is true for the diamond-shaped structure.
*Start with questions like:
*“Describe the current system for production control.”
*“What information would be provided by the ideal system?”
*“What would you eliminate from the current system?”
*Move to more specific questions, such as:
*“What are some of the reports or inquiries that the system should produce?”
*“How should the data be entered into the system?”
*“Is there anything else that you would like to add that we haven’t covered?”
Stories
*Stories originate in the workplace.
*Organizational stories are used to relay some kind of information.
*When a story is told and retold over time it takes on a mythic quality
*Isolated stories are good when you are looking for facts
*Enduring stories capture all aspects of the organization and are the ones a systems analyst should be seeking.
Listening to Stories
*Listening to stories is not efficient and require patience.
*It takes considerably more time than asking interview questions
*Listening to stories may be more rewarding
*Stories are more easily remembered than interview responses
Stories are Made up of Elements
The call to adventure: A typical story starts with a reason an opportunity was noticed or a problem needed addressing.
The quest: The quest in a story implies that there is something worth finding or achieving. It is worthwhile to undergo hardship if there is a worthwhile goal.
The struggle: Listen to hear who the storyteller names as villains. Is it government regulation, external competition, or other members of the organization? It helps to understand what obstacles may exist now.
The transformation: Problems are solved by process or behavior changes rather than by product changes, undergoing a phenomenal transformation to solve the problem.
The resolution: The resolution comes when the storyteller tells whether or not the quest succeeded. It is possible that the storyteller may be telling you how a technology adoption failed, but you are more likely to hear a positive story.
The moral: It is a statement of the lessons learned.
The epilogue: A happy resolution when the problem was first solved may be changed with the passage of time. Competition, customer preferences, improved hardware, and social, environmental, or legal issues.
Reasons for Telling Stories
Rich information from listening carefully to the stories is in itself valuable. The information gleaned from the stories will make more sense and be more valuable if seen in context.
Business Stories
Business stories are a little more complex. We can break down stories into four important main types:
Experiential stories describe what the business or industry is like
Explanatory stories tell why the organization acted a certain way
Validating stories are used to convince people that the organization made the correct decision
Prescriptive stories tell the listener how to act
User Stories and Analysts
Systems analysts can use storytelling as a complement to other information gathering methods, such as interviewing, JAD, and surveys.
You need to engage organization participants by reacting to stories, matching one story to another by recounting it to other participants, and even collaborating with the participant to reframe and understand organization stories.
It is a good way to deeply understand some of the problems associated with information systems use, systems development, systems adoption, and designing for your intended audience.
Joint Application Design (JAD)
Joint Application Design (JAD) can replace a series of interviews with the user community.
J A D is a technique that allows the analyst to accomplish requirements analysis and design the user interface with the users in a group setting.
Conditions That Support the Use of J A D
Users are restless and want something new
The organizational culture supports joint problem-solving behaviors
Analysts forecast an increase in the number of ideas using J A D
Personnel may be absent from their jobs for the length of time required
Who is Involved
The people involved are:
Executive sponsor: This person will be an important, visible symbol of organizational commitment to the systems project.
IS analyst: As the project analyst, you should be present during JAD to listen to what users say and what they require. In addition, you will want to give an expert opinion about any disproportionate costs of solutions proposed during the JAD session itself.
Users: From eight to a dozen users, of any rank, can be chosen to participate in JAD sessions. Try to select users who can articulate what information they need to perform their jobs as well as what they desire in a new or improved computer system
Who is Involved
The people involved are:
Session leader: The session leader should not be an expert in systems analysis and design but rather some-one who has excellent communication skills to facilitate appropriate interactions.
Observers: one or two observers who are analysts or technical experts from other functional areas to offer technical explanations and advice to the group during the sessions
Scribe: one scribe from the IS department should attend the JAD sessions to formally write down everything that is done.
Benefits of J A D
Time is saved, compared with traditional interviewing
Rapid development of systems
Improved user ownership of the system
Creative idea production is improved
Drawbacks of Using J A D
J A D requires a large block of time to be available for all session participants
If preparation or the follow-up report is incomplete, the session may not be successful
The organizational skills and culture may not be conducive to a J A D session
Questionnaires
*Questionnaires are useful in gathering information from key organization members about:
Attitudes
Beliefs
Behaviors
Characteristics
Planning for the Use of Questionnaires
*Organization members are widely dispersed
*Many members are involved with the project
*Exploratory work is needed
*Problem solving prior to interviews is necessary
Question Types
Questions are designed as either:
Open-ended
Try to anticipate the response you will get
Well suited for getting opinions
Closed
Use when all the options may be listed
When the options are mutually exclusive
Open-Ended vs Closed Questions
Open-Ended | Closed | |
|---|---|---|
Speed of Completion | Slow | Fast |
Exploratory Nature | High | Low |
Breadth and Depth | High | Low |
Ease of Preparation | Difficult | Easy |
Ease of Analysis | Difficult | Easy |
Questionnaire Language
Simple
Specific
Short
Not patronizing
Free of bias
Addressed to those who are knowledgeable
Technically accurate
Appropriate for the reading level of the respondent
Measurement Scales
The two different forms of measurement scales are:
Nominal
Interval
Nominal Scales
*Nominal scales are used to classify things
It is the weakest form of measurement
Data may be totaled
What type of software do you use the most?
1 = Word Processor
2 = Spreadsheet
3 = Database
4 = An Email Program
Interval Scales
An interval scale is used when the intervals are equal.
There is no absolute zero
Not Useful
How useful is the support given by the Technical Support Group?
Extremely
At All
Useful
1
2
3
4
5
Ways to Capture Responses
Name | Appearance | Purpose | |
|---|---|---|---|
One-line text box | A single line text box is shown, | Used to obtain a small amount of text and limit the answer to a few words. | Used to obtain a small amount of text and limit the answer to a few words |
Scrolling text box | Multi line text box with horizontal and vertical scroll bars shown, | Used to obtain one or more paragraphs of text. | Used to obtain one or more paragraphs of text |
Check box | Checkbox is shown, | Used to obtain a yes-no answer example, Do you wish to be included on the mailing list | Used to obtain a yes-no answer (e.g., Do you wish to be included on the mailing list?) |
Radio button | Checked radio button, a round button with a solid dot in the center, is shown | Used to obtain a yes-no or true-false answer. | Used to obtain a yes-no or true-false answer |
Drop-down menu | Image of a dropdown button is shown | Used to obtain more consistent results Respondent is able to choose the appropriate answer from a predetermined list example, a list of state abbreviations ] | Used to obtain more consistent results (Respondent is able to choose the appropriate answer from a predetermined list [e.g., a list of state abbreviations]) |
Push button | Push button, Image of a button labeled as Button is shown | Most often used for an action example, a respondent pushes a button marked “Submit” or “Clear” | Most often used for an action (e.g., a respondent pushes a button marked “Submit” or “Clear”) |
Lecture Summary
Interviewing
Interview preparation
Question types
Arranging questions
The interview report
Stories
Story elements
Joint Application Design (JAD)
Involvement and location
Questionnaires
Writing questions
Using scales and overcoming problems
Design and order
Administering and submitting