Unit 4: Software Requirements Gathering
Requirements gathering requires the software engineer (in this case, a business analyst) to interact with the stakeholders, including customers and users, to gather/collect information about what the software system being developed needs to do. There is also the situation where vendors are subcontracted to develop all, or some components, of the software systems and/or develop the hardware that the software will run on. In this case, the vendors bid on the subcontract by providing a proposal in response to a request for proposals. In this unit, you will learn the data/information types, data collection techniques, and data collection and application types.
Completing this unit should take you approximately 3 hours.
Upon successful completion of this unit, you will be able to:
- identify different types of software requirements and data types;
- describe data/requirements gathering techniques used by software engineers; and
- outline data gathering techniques, such as interviews, meetings, or observation, that are most useful for various application types, including transaction processing systems (TPS), decision support systems (DSS), and executive information systems (EIS).
4.1: What are Requirements and Data Types?
There are many different data dimensions, such as time and volume. Each dimension is important in defining the requirements of applications. Read this section, which discusses these data types. Bear in mind how much and what type of information should be collected.
This article discusses the 2011 revisions to the IEEE 830 standard for requirements analysis. What are the phases of software requirement engineering?
Also pay special attention to the section of types of software requirements and the unique quality of each type. It is important to identify and include more than just the functional requirements to have a quality system.
Analysis emphasizes an investigation and understanding of the problem domain and requirements, rather than a solution. Read this section to learn more about some of the terms and concepts related to requirements and their types. These terms can seem ambiguous at first, but we will quickly learn how they relate to one another.
4.2: Requirements and Data Gathering Techniques
Data gathering is the interaction between the software engineer (in this case a business analyst) and the customers (including users). There are many techniques for gathering data, including interviews, meetings, observations, questionnaires, reviewing software, reviewing internal documents, and reviewing external documents. Read this section to differentiate between them and pay attention to the main advantages and disadvantages of each one of these techniques.
4.3: Data Collection Techniques for Various Application Types
Read this section and identify the data gathering techniques most useful for each application type.
Unit 4 Assessment
- Receive a grade
Take this assessment to see how well you understood this unit.
- This assessment does not count towards your grade. It is just for practice!
- You will see the correct answers when you submit your answers. Use this to help you study for the final exam!
- You can take this assessment as many times as you want, whenever you want.