Information Systems Analysis
Current Events Discussions and Announcements
The final exam.
Variations in interpretation of specifications (requires Powerpoint: you must "run show" and turn on speakers to appreciate)

The order of presentations on Monday, May 28 is
- Day Class: Group C, Group B, Group A
- Evening Class: Group A, Group D, Group E, Group C, Group B
Now that the groups in both classes have made their presentations on requirements, I will
share them with both classes.
- Day Class: Requirements presentation
- Evening Class: Requirements presentation
From Modern Analyst.com, April 18, 2008
What are non-functional requirements?
- Non-functional requirements are characteristics of a system or solution which describe non-behavioral characteristics or qualities of a system.
- Whereas functional requirements describe the behaviors or functions of a system, the non-functional requirements generally describe those attributes which the system must have but which do not represent something an actor can do with the system.
- Non Functional Requirements have also been called the 'ilities' because they can be expressed like this: usability, reliability, interoperability, scalability, extensibility, etc. Non-functional requirements are also commonly referred to as quality of service (QoS) requirements or service-level requirements.
- In many instances non-functional requirements describe (are attributes of) functional requirements. For example: if a functional requirement of a system is "the system shall allow the customer to view current month's statement" a non-functional requirement which describes this need might be "the system shall generate the current month's statement in 30 milliseconds" or "the system shall store monthly statements for up to 12 months".
- In other instances, non-functional requirements describe constraints on a system such as legal and regulatory constraints.
- A simple test to determine if a requirement is functional or non-functional is to ask yourself if you can describe the requirement using the action of an actor or user of a system (think use cases and user stories). If the requirement can be easily described with a use case or user story then it is probably a functional requirement, otherwise it is most likely a non-functional requirement.
How do you discover and elicit non-functional requirements?
- Different organizations have different methods and processes for eliciting and discovering non-functional requirements. Common ways of discovering non-functional requirements include:
- 1. Stakeholder goals, values, and concerns - Talk to the stakeholders! What a novel idea! ;-) The analyst must find out what is important to the stakeholders (including the users), what qualities are must have in order to achieve stated business and organizational goals. For example: must be able to create a new transaction in under 2 minutes. Also, find out what are the stakeholders worried about. For example: Users are afraid that the new system will be too slow (because the current one is).
- 2. Legacy system and/or existing platform constraints - the analyst takes a look at constraints dictated by the environment into which the new system must fit, the existing systems with which it must integrate, and the technical platform(s) it must use.
- 3. Competitive analysis of system qualities - additional non-functional requirements can be discovered by analyzing the qualities of competing systems. For example: how many users can the competing system support and do we need to do better?
- 4. Industry and market trends - try to understand the direction the industry or vertical market is taking and identify key trends. For example: What is the average annual growth of the industry in number of transactions? Do customers expect faster and faster response times?
- 5. Standard non-functional requirements templates and categories - in many organizations business analyst simply uses standard templates and categories in order to focus on and ask questions about each type of non-functional requirement (could be done using a questionnaire): usability, scalability, performance, availability, stability, extensibility, etc.
- 6. Pre-established trigger questions - many teams develop a set of trigger questions to be asked of the stakeholders and development team. For example:
- * Documentation & Training
- o What kind of documentation is required and who will be the users of the documentation?
- o How quickly should a brand new user be up and running on the system?
- o Is there a need for context sensitive help?
- * Performance Characteristics
- o Are there any speed, throughput, or response time constraints on the system?
- o Are there size or capacity constraints on the data to be processed by the system?
- o Do performance requirements vary by: time of day, day of the week, type of user, etc.?
- * Error Handling and Extreme Conditions
- o How should the system respond to input errors?
- o Is there a need to track errors via a mechanism such as error logging?
- o Are there expectations on reporting errors: per categories, by business channel, etc.?
- * External Interfaces & Interoperability
- o Is there data coming from (going to) external systems?
- o Are there restrictions on the format or medium that must be used for input or output?
- o How must the data exchange with external systems function: real-time, hourly, daily, etc.?
- * System Modifications
- o What parts of the system are likely candidates for later modification?
- o What types of modifications are expected?
- o How often do you expect the system will need to be modified?
- * Security
- o What data managed by the system must be secure?
- o Who, when, where should be able to access the system?
- * Disaster Recovery & Business Continuity
- o How often will the system be backed up?
- o Who will be responsible for the back up?
- o What data must be saved in case of a disaster?
- o How quickly after a major disaster must the system be up and running?
- o What is the acceptable system downtime per 24-hour period?
How do you categorize non-functional requirements?
- There are many different ways to categorize non-functional requirements depending on the type of system, project, organization, or preference.
- Here are some common ways of categorizing requirements:
- 1. Qualities vs. Constraints
- Qualities of a System: these are characteristics or properties of a system that the stakeholders care about. These are commonly sub-categorized as:
- * Run-time Qualities: These are generally qualities which describe how well the functional requirements behave/are perceived when the system is being used:
- o usability,
- o configurability,
- o supportability,
- o correctness,
- o availability and reliability,
- o quality of service requirements: performance, response time, latency, etc.
- o security,
- o fault tolerance,
- o scalability
- * Development-time Qualities: These are qualities of the system, architecture, documentation, and design which have an impact on the effort, ease, and cost of maintaining and changing the system over time:
- o localizability—ability to make adaptations due to regional differences
- o modifiability or extensibility—ability to add (unspecified) future functionality
- o evolvability—ability to change over time and to integrate and use new technologies
- o composability—ability to compose systems from components
- o reusability—ability to (re)use in future systems
- Constraints of a System: these are characteristics of the pre-existing environment within which the new system or solution must operate, such as: legal and regulatory constraints, available development frameworks, target hardware, knowledge and skill of the development team, time and budget, etc.
- 2. Execution vs. Evolution
- Execution requirements: Qualities a system must have which are observable at run time: security, usability, etc.
- Evolution requirements: Qualities a system must have which address the nature and structure of the system and which permit a system to be evolved in the future: scalability, extensibility, etc.
- 3. Many categories: most organizations simply maintain a long list of non-functional requirement categories including but not limited to:
- * Accessibility
- * Audit and control
- * Availability
- * Certification
- * Dependency on other parties
- * Documentation
- * Efficiency (resource consumption for given load)
- * Effectiveness (resulting performance in relation to effort)
- * Escrow
- * Extensibility (adding features, and carry-forward of customizations at next major version upgrade)
- * Infrastructure
- * Legal and licensing issues
- * Maintainability
- * Operating constraints
- * Performance / Response time
- * Platform compatibility
- * Price
- * Quality (e.g. Faults Discovered, Faults Delivered, etc.)
- * Reliability (e.g. Mean Time Between Failures)
- * Resilience
- * Resource constraints (processor speed, memory, disk space, network bandwidth etc. )
- * Robustness
- * Scalability
- * Software, tools, standards etc.
- * Stability
- * Supportability
- * Usability and User Experience
|
More from IDE-O
The prototyping video found by the night class group.
Now that the groups in both classes have made their presentations on prototyping, I will
share them with both classes.
- Day Class: Prototyping presentation
- Evening Class: Prototyping presentation
Prototyping
- Introduction of Prototyping
- An analogy: Prototyping Star Wars Figures as an example of how different kinds of prototypes are used to answer different kinds of questions
- A Fable: Joey's Airplane
- A Fable: The Chick's Coat
- An example of how prototyping can be used to elicit user feedback: this example is replicated
here for you to consider as a way of doing prototyping, and does not function
- The Analysis and Prototyping of Effective Graphical User Interfaces
- The Effects of Practical Business Constraints on User Interface Design
- The Paper Prototyping Website
- Paper Prototyping
- What is Paper Prototyping?
- Paper Prototyping: Getting User Data Before You Code
- How do we decide if we should use paper?
- Five Paper Prototyping Tips
- Checklist: Working Interface or Paper Prototype
- Paper Prototyping Methods
- Six Signs that you Should Use Paper Prototyping
- Pros and Cons of Paper Prototyping
- Using Paper Prototypes to Manage Risk
- Examples
- More References
(4/14/08)
The midterm grade distribution.
Mr. Craft's presentation and the supplementary presentation.
Creativity exercises
- 1. A murderer is condemned to death. He has to choose between three
rooms. The first is full of raging fires, the second is full of assassins
with loaded guns, and the third is full of lions that haven't eaten in 3
years. Which room is safest for him?
- 2. A woman shoots her husband. Then she holds him under water for over 5
minutes. Finally, she hangs him. But 5 minutes later they both go out
together and enjoy a wonderful dinner together. How can this be?
- 3. What is black when you buy it, red when you use it, and gray when you
throw it away ?
- 4. Can you name three consecutive days without using the words
Wednesday, Friday, or Sunday?
- 5. This is an unusual paragraph. I'm curious as to just how quickly you
can find out what is so unusual about it. It looks so ordinary and plain
that you would think nothing was wrong with it. In fact, nothing is wrong
with it! It is highly unusual though. Study it and think about it, but you
still may not find anything odd. But if you work at it a bit, you might
find out. Try to do so without any coaching!
Feasibility
- Political Considerations in Requirements Analysis
- Managing Customer Expectations
- Screening Feasibility Issues
- Overview of Issues
(3/28/08)
Estimation and Feasibility
- Estimation and Feasibility Analysis
- Initiating Projects
- Screening Proposals
- Project Risks
(3/28/08)
Now that the groups in both classes have made their presentations on feasibility and estimation, I will
share them with both classes.
- Day Class: Feasibility presentation
- Evening Class: Estimation presentation
- Evening Class: Feasibility presentation
Questionnaires and Interviews
- Why Interview?
- Introduction to Interviews
- Interview Hints
- Fables about Interviewing
- The King's Companion
- The Kingdom of Beal
- The Fairy and the Pig
- Card Sorting -- a specific kind of interview
(3/19/08)
The midterm is now available.
Now that the groups in both classes have made their presentations on questionnaires and interviews, I will
share them with both classes.
- Day Class: presentation
- Evening Class: presentation
(3/10/08)
Data Flow Diagrams
- Process Modeling
- Introduction to Data Flow Diagram (DFD)
- Data Flow Diagram (DFD) Example (Context and Level 0 Diagrams)
- Data Flow Diagram (DFD) Example (Level 4 Explosion)
- A course at University of Baltimore
- Introduction
- High Level Examples
- Explosions
- Data Dictionary
- More samples
See also the following: - CASE Tools and the Productivity Paradox
- A Comparison of Diagramming Tools
Entity Relationship Diagrams
- The Process of Drawing E-R Diagrams
- Guidelilnes for ER Diagrams
(3/3/08)
Now that the groups in both classes have made their presentations on diagrams, I will
share them with both classes.
- Day Class: presentation -- part 1, presentation -- part 2
- Evening Class: presentation and use case diagram
Learn more about information overload issues.
The project management talk is now available.
More about IDEO. Also look at IDEO's website.
More about brainstorming pitfalls and best practices.
Night semester groups
| Group A
Elizabeth Brown Larry Robinett India Thomas Matt Ubdegrove
| |
Group B
Maurice Hughes Marawan Mohammed Dayanand Thakur Erin Thompson
| |
Group C
Gidey Adebaby David Doom TJ Loh Dede Tumbrink
| |
Group D
Michael Bock Irma Richardson Christie Schillinger Mark Thornhill
| |
Group E
Shannon Jackson Will Ly Scott Sage Louis Tang
|
Methodologies
Another view of the Systems Process
- an outline of the process
- modeling
- learning about the system
- flux in real systems
The class presentations for the two classes will be:
- Day Class
- 28-Jan: Methodologies -- Sasan Rastegarlari and Eric Delisle
- 20-Feb: Diagrams -- Jon Tirjan, John Kaestner, and Nate Kettler
- 3-Mar: Questionnaires -- Chris Prewitt, Deidre Husten
- 12-Mar: Estimation -- no presentation
- 17-Mar: Feasibility -- Travis Clark, Garrett Jones, Ryan Butler
- 14-Apr: Prototyping -- Shere Stewart and Mike McBee
- 21-Apr: System Requirements -- Bruce Campbell, Kimberly Harris
- Evening Class
- 28-Jan: Methodologies -- Irma Richardson and Mark Thornhill
- 25-Feb: Diagrams -- Taran Loh, Matt Ubdegrove, David Doom
- 3-Mar: Questionnaires -- Dede Tumbrink, Elizabeth Brown, Christie Schillinger
- 17-Mar: Estimation -- Erin Thompson, Larry Robinett, Shannon Jackson
- 17-Mar: Feasibility -- Scott Sage, Maurice Hughes, Mike Bock
- 14-Apr: Prototyping -- India Thomas, Daynand Thakur, Adebabay Gidey
- 21-Apr: System Requirements -- Louis Tang, William Ly, Marawan Mahmoud
Now that the groups in both classes have made their presentations, I will
share them with both classes.
- Day Class: presentation, notes 1, notes 2
- Evening Class: presentation
We will break into groups and look
at some creativity exercises today.
- A man walked into a bar and asked the barman for a glass of water. They had never met before. The barman
pulled a gun from under the counter and pointed it at the man. The man said "Thank you" and walked out. Why
should that be so?
- Two brothers were having a drink in a bar. Suddenly one of the brothers got into a heated argument with the
barman. He pulled out a knife and, despite his brother's attempts to stop him, stabbed the barman in the chest. At
the trial, he was found guilty of assault with a deadly weapon and grievous bodily harm. At the end of the trial, the
judge said, "You have been found guilty of a vicious crime. However, I have no choice but to set you free." Why
should that be so?
- A traveller came to a small town. He had never visited it before, he knew no one there, and knew nothing about the
town or its inhabitants. He needed a haircut. There happened to be two barbershops close to each other on the
main thoroughfare -- the only barbershops in town. The man studied each of them with care. One shop was very
neat and tidy. Everything about it was smart. The barber was sweeping away the last traces of hair from the floor
while waiting for his next customer. The other barber's shop was very untidy. Everything looked rather run down
and ramshackle. The scruffylooking barber within was lolling on a chair waiting for his next customer. Both shops
charged the same amount for a haircut. After careful consideration, the traveler decided to go to the scruffy barber
for his haircut. Why?
The resumes that we will consider to put individuals into groups will be available soon. The groups for this assignment only are:
Day Class
Group A
Bruce Campbell
Eric Delisle
Deirdre Huston
|
|
Group B
James Cook
Garrett Jones
Christopher Prewitt
|
|
Group C
Ryan Butler
John Kaestner
Sasan Rastegarlari
|
|
Group D
Travis Clark
Kimberly Harris
Shere Stewart
|
|
Group E
Nathan Kettler
Michael Mcbee
Jonathan Tirjan
|
Evening Class
Group A
Taranjeet Loh
William Ly
Larry Robinett
Louis Tang
Dayanand Thakur
|
|
Group B
Maurice Hughes
Scott Sage
India Thomas
Erin Thompson
|
|
Group C
Elizabeth Brown
Adebaby Gidey
Irma Richardson
Dede Tumbrink
|
|
Group D
Jeffrey Burton
David Doom
Christine Schillinger
Mark Thornhill
|
|
Group E
Michael Bock
Shannon Jackson
Marawan Mahmoud
Matthew Ubdegrove
|
Information Measures
of the value of information
alternate
syllabus (an example of data, not information)
Information
Comparison
Building
Blocks of IS
(1/28/08)
From Ian I. Mitroff and Harold A.
Linstone, The Unbounded Mind: Breaking the Chains of
Traditional Business Thinking, New York: Oxford University
Press, 1993.
| Almost without exception, all who write about the
new, global information age acknowledge that we are literally drowning
in an overload and overabundance of information. Never before has
humankind had access to so much, so quickly, and from every part of the
globe. We have more data and information on every conceivable subject,
yet less understanding at the same time. Data and information do not
automatically lead to greater insight; they may now travel at the speed
of light, but understanding and wisdom do not.
There is also common agreement that "data,"
"information," and "knowledge" are not the same, even though they are
often -- wrongly so -- used interchangeably. Their differences are
often as unclear to the experts as to the layperson.
One aspect above all else is especially
disturbing. It is the strong, taken-for-granted assumption that agreement
between the monumental and voluminous databases that both government
and businesses are constantly producing will eventually result, and
further that agreement itself is fundamentally desirable. -- p.20
In the end, the most general conclusion is "seek agreement or consensus
but do not trust them fully." Agreement and consensus are
important in reaching conclusions and in achieving the necessary
support to carry out complex, important policies. However, as with all
things human, they cannot be followed blindly. Nor are they the
ultimate consideration for deciding all important questions. -- p. 37
Finally, we can state some rules of thumb ....
- ·Seek the obvious, but do everything
in your power to challenge and even ridicule it.
- ·Question all
constraints. The most limiting constraints in building a model or a
representation of a problem are usually imposed not by the problem
itself but by the mindset of the problem solver.
- ·Challenge as many assumptions about
the problem and the model as possible. Remember that what seems
self-evident to the problem formulator is not always evident to others.
- ·Question the scope or the
definition of a problem or model. Frequently what is omitted from the
statement of a problem or model is more important than what is
included.
- ·Question whether a problem is to be
"solved," "resolved," or "dissolved." There are important differences
between "solving," "resolving," or "dissolving" a problem. They are not
necessarily the same. To "solve" a problem means to produce an exact or
optimal solution to it. To "resolve" a problem means to seek a solution
that is "good enough." On the other hand, to "dissolve a problem is to
realize that there may be some other problem that is more important to
focus one's attention on. The old or initial problem may still exist
but may not be as important in the broader scope of things.
- ·Finally question the logic itself.
Being logical and being right are not always the same. The more logical
a solution to a complex problem sounds, the more strongly it deserves
to be challenged. -- p. 47-48
|
(1/28/08)
We must always look for the unintended consequences in systems analysis. (1/28/08)
Systems analysis defined: View this video. Seriously, view this video to talk about soft systems methodologies. (1/28/08)
The previous edition of your textbook had a chapter entitled "Succeeding as a Systems Analyst." It is available here with permission of the publisher. (1/28/08)
Standish Report Results
- Resolution of Projects
- Resolution of Projects, 1994-2004
- Cost Overruns
- Cost Overruns, 1994-2004
- Top Ten Reasons for Success
- CHAOS Report: 1994
(1/14/08)
An example
consultant's analysis report: Strider and Cline evaluate UM's implementation of PeopleSoft. (1/14/08)
Systems Analysis
- What Does A Systems Analyst Really Do?
- What is Systems Analysis
- Systems Development Life Cycle
- Process v. Data Orientation
- Different Types of Systems
- Stage Deliverables
- Deliverables
- More about Deliverables
- Agile Methods
(1/14/08)
Think about the skills
associated with systems analysis. One of the items in the list is
"systems thinking." We will look at
the definition of a System
and think about what Systems
Thinking means. (1/14/08)
For more information about the
tasks necessary for Systems Analysis, visit some of the sites on the Analysis Links
page. In particular, visit the What
Does A Systems Analyst Really Do? and the Systems
Analysis Want Ads pages, and the Systems
Development Life Cycle page. (1/14/08)
|