Systems Analysis and Design I
ITEC3010 – Fall 2010 – Luiz Cysneiros
Lecture 4 – Investigating System Requirements – Oct 5
Analysis Phase Activities
- Gather information
o Involves gathering lots of information
o Can get information from people who will be using the system
By interviewing them
By observing them
- Can get other information by reviewing documents and policy statements (e.g. At
- Can involve the analyst actually doing some or part of the task to get a feel for
what is done
o In order to automate order-entry you may need to become an “expert” on
the task (knowing how orders are processed)
- Need to understand current and future users, locations, system interfaces,
possible solutions, etc.
- Define system requirements
o Involves modeling
• Any model that shows what the system is required to do
without committing to any one technology – requirements
model is logical
• Any model that shows how the system will actually be
Models are often graphical in nature
• Data flow diagrams (dfds)
• Entity-relationship diagrams (erds)
Natural language is ambiguous
- Prioritize Requirements
o Important to establish which functional and technical requirements are
o Why? Since resources are always limited and you want to address the
most important things
o If not addressed can lead to “scope creep”, where the scope of the project
just seems to expand over time
- Generate and Evaluate Alternatives
o Could include considering more than one method to develop system
o Could involve in-house development or outsourcing to to a consulting firm
o Might be able to use “off the shelf” software package
o Each alternative has costs and benefits to be considered
o Also must consider technical feasibility - Review Recommendations with Management
o Usually done when all the above are completed
o Must decide if project should continue at all
o Must decide on which alternative is best (if you are going ahead with the
o NOTE – at this point should include CANCELLATION of project as an
May have found costs were too high
May have found benefits were lower than thought
Maybe the business environment suddenly changed making the
o Detailed documentation has been collected
Proposed design solution
- Requirement specification results from Analysis phase
- What is a requirement?
o A feature of the system or description of something the system is capable
of doing to fulfill the system’s purpose
o It addresses the purpose of the system (i.e. What it is supposed to do) and
not how it will be implemented (However, Non-Functional requirements
might require the analyst to look closer to how it will be implemented)
Functional and Technical Requirements
- Functional requirements
o A system requirement that describes a function or process that the system
o E.g. “system will calculate tax amounts, report year-end tax deductions”
- Non-functional requirements / technical requirements
o A system requirement that describes an operating environment or
performance objective. Describe constraints on functional requirements
o E.g. Tax amounts should be accurate, calculate tax amount should be
easy to use
Types of Requirements/Questions Asked
- Physical Environment
o Where is the equipment to function?
o Is there one location or several?
o Are there any environmental restrictions such as temperature, humidity or
- Interfaces o Is the input coming from one or more systems?
o Is the output going to one or more systems?
o Is there a prescribed way in which the data must be formatted?
o Is there a prescribed medium that the data must use?
- Users and Human Factors
o Who will use the system?
o Will there be several types of users?
o What is the skill level of each type of user?
o What kind of training will be required for each type of user?
o How easy will it be for a user to understand the system?
o How difficult will it be for a user to misuse the system?
o What will the system do?
o When will the system do it?
o How and when can the system be changed or enhanced?
o Are there constraints on execution speed, response time, or throughput?
(Non-Functional Req. frequently associated with FR)
o How much documentation is required?
o To what audience is the documentation addressed?
o For both input and output, what should be the format of the data?
o How often will it be received or sent?
o How accurate must it be?
o To what degree of precision must the calculations be made?
o How much data flows through the system?
o Must the data be retained for any period of time?
o What materials, personnel or other resources are required to build, use
and maintain the system?
o What hardware is required?
o What software is required? (eg. Databases?)
o What skills must the developers have?
o How much physical space will be taken up by the system?
o Is there a prescribed timetable for development?
o Is there a limit on the amount of money to be spent on development or on
hardware and software?
o Must access to the system or to information be controlled?
o How will one user’s data be isolated from other’s?
o How will user programs be isolated from other programs and from the
o How often will the system be backed up?
o Must the backup copies be stored at a different location? o Should precautions be taken against fire or theft?
- Quality Assurance
o What are the requirements for reliability?
o How the characteristics of the system must be demonstrated to others?
o Must the system detect and isolate faults?
o What is the prescribed mean time between failures?
o Is there a maximum time allowed for restarting the system after a failure?
o How can the system incorporate changes to the design?
o Will maintenance merely correct errors, or will it also include improving the
o What efficiency measures will apply to resource usage and response
o How easy should it be to move the system from one location to another or
from one type of computer to another?
Stakeholders – The Source of System Requirements
- Stakeholders: People who have an interest in the success of the new system
o The users: who actually use the system
o The clients: who pay for and own the system
o The technical staff: who ensure the system runs
- Must identify stakeholders
- Cannot forget an important group – e.g. Users!
- Can identify users horizontally – i.e. Across departments
- Can also identify users vertically – i.e. Hierarchy within a department (e.g. lower,
middle and upper managers)
- Type of users
o Business operations users – use the system daily to perform operations
(transactions – a piece of work)
o Query users – could be business people or customers – request info
o Management users – want reports, performance stats, want to know
volumes of transactions etc.
o Executive users – want information to help with strategic issues, e.g.
compare improvements in resource utilization
Stakeholders at Rocky Mountain Outfitters
- Operational users of the new order system
o Inside sales representatives (who take orders)
o Clerks (who process order)
o Warehouse workers
- Each type of user has their own needs and preferences
o Need usability testing to get at this! (text doesn’t mention)
- Project funded from internal cash flow - Since the system involves new technology (Internet) need involvement from
Identifying System Requirements
- Main Objective of Analysis Phase
o To understand the business functions and develop system requirements
o Question of studying existing systems first or not
o Using structured approach, analyst first documents the existing system
then extrapolates the requirements of the new system
Develop current system physical models
Extract the current system logical models
Develop new system logical model
Develop new system physical model
- Faster approach
o Identify current system procedures immediately (as much as need to,
don’t necessarily define specific processes)
o Develop requirements and models for new system (ie. develop logical
- In either approach, need to balance investigation of old procedures with need to
focus on requirements of the new system
Questions Asked (Overall)
- What are the current business processes and operations?
o Ask the users, “What do you do ?”
o Assess what current functions can remain and which should be eliminated
- How should the business processes be performed?
o Ask the user “How can it be done?”, “What steps should be followed?
(using the new system)”. How else ?
- What information is needed?
o Specific information requirements, e.g. Databases needed
Skills Needed and Methods Used
- Understanding of user needs
- Ability to analyze and solve business problems
o Being able to identify and capture business rules
o Distribute questionnaires to stakeholders
o Review existing reports, forms and procedure descriptions
o Conduct interviews and discussion with users
o Observe business processes and workflows in real life (can video or audio
record activities, do usability testing etc.)
o Build prototypes
o Conduct joint application design (JAD) sessions Distribute and Collect Questionnaires
- Allows to collect information from large numbers of users
- Can obtain early insight into information needs
- Can be useful for collecting demographic or quantitative information
o e.g. “how many orders do you enter a day?” “What is your educational
- Can collect information using scales, e.g. “On a scale of 1 to 7 how important is
system speed?” – closed-ended questions which do not invite discussion
- Less useful for collecting other types of qualitative information (e.g. system
usability, user-interface ne