Looks like no one added any tags here yet for you.
Something that a computer or application must do for its users
Requirements
Needs Assessment Definition
Systematic set of procedures undertaken for the purpose of setting priorities and making decisions about a program or organization improvement and allocation of resources
What skills are required for a needs assessment?
Technical (limitations of tech), Interpersonal (work with people), Managerial (manage projects, change), Analytical (understand content and solve problems)
What are the three phases of Needs Assessment?
Investigation, Data Collection, Data Use
Describe the Investigation Phase
Find out about what the target needs;
Determine Focus and Scope;
Develop preliminary plan and criteria;
Determine Stakeholders
Why are requirements often poorly documented?
Requirements seem intangible to developers;
Design Consideration - should not be apart of requirements (design is how, rather than what needs to be accomplished);
Vagueness in requirements;
Use of jargon;
Relating to the business goals - all goals must relate to the goals of the business;
What users need for the system to work; functions and features
Functional requirements
Address hidden areas of the system that are important to users
Non functional requirements
What happens when premature design occurs?
Requirements become dependent and related to specific technology.
What are the benefits to cleaning up requirements?
Helps to remove conflicts and reduce redundancy. They also reduce the overall volume of requirements
What are ways to clean up requirements?
Remove Conflicts
Remove Redundancy
Remove Design assumptions
Find commonality among requirements and abstract them
Separate Functional and Non Functional Requirements
What are the problems with requirements lists?
In lists its easy to write duplicate or conflicting requirements. Doesn't provide users with a cohesive view of what will be accomplished.
What are the problems with functional decomposition?
Tool breaks major functions and breaks into sub processes. Is tightly linked to main frames and COBOL programs but isn't usable for web based or object oriented program.
Is easy to lose connection to the things the program is created for due to everything being processes or objects
What are problems with Dataflow Diagrams?
Users are confused by these diagrams because lines between system and user responsibility is blurred. Contain too much detail that isn't needed for users.
What are the problems with ERDs?
Must be used along DFDs to show a complete picture to users. Only show relationships inside database. Do not provide much if anythingto the users
What are the problems with prototypes?
Give a realistic view of what a system will do when it's finished however users get caught up in the look and feel of the program. They also make users think that the program is near completion.
Tool that shows the "what" exclusively"
Use Cases
Describe Use Cases
Compared to DFDs and ERDs that show the how and the what Use Cases just show the what.
Are text descriptions of the interaction between some outside actors and the computer system.
Meant to be written in user language and devoid of any technical speak.
Drive requirements gathering and entire development cycle
What are the roles of use cases?
To be effective communication vehicles;
To be used for Function and Non functional requirements;
To ensure requirements traceability;
To discourage Premature design
Three requirements lifecycle iterations
Facade (high level descriptions), Filled (Broad use cases, slightly more specific, NO design) Focus (narrowed on steps, prune excess aspects)