Académique Documents
Professionnel Documents
Culture Documents
- The systems development process aids an organization in moving from the as-is system
to the to-be system
- Requirements determination is the single most critical step of the SDLC
- Changes can be made easily in this stage
- Many system failures are due to issues with requirements which is why the iterative
process of OOSAD is effective.
- Small batches of the requirements can be identified and implemented as the
system evolves over time
- Requirements Determination
- Purpose is to convert high-level business requirements (from the system request)
into detailed requirements that can be used as inputs for creating models.
- Defining a requirement
- A requirement is a statement of what the system must do or a
characteristic it must have
- Focus on the needs of a business user → business requirements
- Developers perspective → system requirements
- Evolves into a technical description of how the system will be
implemented
- Functional: relates to process a system has to perform or data it needs to
contain
- Non-functional: relates to behavioral properties that the system must have
- performance or usability
- Requirements definition
- Straightforward text report that lists out the functional and nonfunctional
requirements in an outline format
- Provides information needed in subsequent workflows
- Defines the scope of the system
- Determining Requirements
- Creating a Requirements Definition
- Determine the types of functional and non-functional requirements
applicable to the project
- Use requirements-gathering techniques to collect details
- Analysts work with users to verify, change. And prioritize each
requirement.
- Be careful of scope creep
- Requirements that meet a need but are not within the current scope are
added to future enhancements
- Requirements definition evolve over time
- Real-World Problems with Requirements Determination
- Requirements Analysis Strategies
- Problem Analysis
- Asks users to identify problems with the current system
- Asks users how they would solve these problems
- Good for improving efficiency or ease-of-use
- Root Cause Analysis
- Focus is on cause of the problem, not its solution
- Users generate list of problems → prioritize these problems → generate
possible root causes for the problems → investigate
- Duration Analysis
- Determine the time required to complete each step in a business
process→ compare this to total time required for entire process
- Large differences suggest problems that might be solved by integrating
some steps together
- Perform steps simultaneously in parallel
- Activity-Based Costing
- Examine cost of each step → compare to total cost of entire process
- Similar to duration analysis but applied to costs
- Informal Benchmarking
- Analyzes similar processes in other successful organizations
- Introduces ideas
- Outcome Analysis
- What does the customer want in the end?
- Focuses on understanding the fundamental outcomes that provide value to
the customers
- Technology Analysis
- Apply new technologies to business processes and identify benefits
- Develop list of important technologies → identifies how technology can
be applied → identifies how technology can benefit.
- Activity Elimination
- Eliminate each activity in a business process in a “force-fit” exercise
- Problems in requirements determination:
- Analysts may not have access to correct users
- Requirements specifications may be inadequate
- Requirements-Gathering Techniques
- Used to uncover all requirements and to build support and trust among users
- Interviews
- (1) Select interviewees and create a schedule
- (2): Design interview questions
- Open-ended leave room for elaboration
- Closed-ended questions require specific answer
- Probing follow up to learn more
- (3): Prepare for the interview
- Structured interviews with closed ended questions take more time
to prepare than unstructured interviews
- (4): Conduct the interview:
- Top-down: more specific and high-level → more broad and low-
level questions
- Bottom up: more broad and low-level questions → more specific
and high-level questions
- (5): Post interview follow-up
- Interview report
- Prepare notes and sent to interviewee for verification
- Join Application Development (JAD)
- JAD is an information-gathering technique that allows the project team,
users, and management to work together to identify the requirements for
the system.
- Reduce scope creep and prevent the system’s requirements from becoming
too vague or too specific
- Joint user-analyst meeting hosted by facilitator
- 10-20 users
- 1-2 scribes to record the session
- Meetings can be held electronically and anonymously and held remotely
- Sessions require careful planning to be successful
- Users may need to bring documents or user manuals
- Ground rules
- Questionnaires
- A set of written questions (paper based or electronic) used to obtain
information from individuals
- (1): Select Participants:
- Use representative samples for large populations
- (2): Design the questionnaire
- Careful question selection
- More specific rather than vague and ambiguous
- (3): Administer questionnaire
- Offer incentive for good response rate
- (4): Follow-up
- Results to participants
- Thank you
- Document Analysis
- Provides information about the “as-is” system
- When user’s have to add in information to the form, this is indication that
the “as-is” system needs to be improved.
- Observation
- Checks validity of information gathered in other ways
- Behaviors may change when people are watched
- Therefore, keep a low profile and don’t interrupt/influence workers
- Don’t ignore periodic activities.
- Selecting the Appropriate Techniques
- Combination of techniques may be used
- Document analysis and observation is ezpz
- JAD sessions are more challenging
- Alternative Requirements Documentation Techniques
- Concept Maps
- Represent meaningful relationships between concepts
- Focus individuals on a small number of key ideas
- User Stories, Story Cards, and Task Lists
- Associated with agile development methods
- Functional and non-functional requirements
- Story Cards and Task Lists
- File card with single requirement
- How much effort required to implement
- Task list is created for each requirement
- Prioritized by risk level and importance
- User Stories:
- Associated with agile development methods
- Typically captured using story cards and recorded on a task list
- Stakeholders always write the user stories
- Let users write, not developers
- Indicate estimated size of effort to implement
- Indicate priority
- Include unique identifier
- Typical format:
- As a [role] I want [something] so that [benefit]
- The System Proposal
- Combines all material created in planning and analysis; no more than a single
page
- Executive summary
- Critical information in summary form to help executives determine which
sections to read in more detail
- Review
Homework 1
Homework 2
Homework 3
Homework 4