Client Needs and Software Requirements

Start Date: 08/16/2020

Course Type: Common Course

Course Link:

About Course

This course covers practical techniques to elicit and express software requirements from client interactions.

Course Syllabus

Welcome to the first module! In this module, you will become familiar with software requirements and some issues surrounding them. You will learn what a software requirement is, including the different types of requirements. Then, you will learn how to deal with changing requirements and control project scope, as well as how requirements affect design. These lessons will give you the knowledge you need to move on to eliciting and creating good quality requirements in the next modules.

Coursera Plus banner featuring three learners and university partner logos

Course Introduction

Client Needs and Software Requirements In this course, you will learn the basic concepts of Software Product requirements and what they mean for specific software requirements. We'll cover topics such as what makes a good application refactored, common software requirements such as "Always use the latest version of the .NET Framework", and so on. We'll also explain what happens if you don’t follow the requirements, what happens if you need to apply your new knowledge, and how to request that your software be validated. You’ll also learn about different methods of software validation including programmatic validation, system level verification, and user level validation. We’ll also explain how user level validation works, and what happens if you use it. At the end of this course, you will be able to: - Describe what software products and requirements are used for - Define what a software product is and what makes a good application refactored - Apply user-level software validation techniques - Design and understand different types of software requirements - Apply programmatic user-level validation techniques - Design and understand different types of software validation techniques - Apply user-level validation techniques This course is part 1 of the specialization. The course focus on understanding the user needs and the design of software products, so if you haven’t taken it, feel free to skip ahead or jump directly to the next week’s module. The required knowledge for this course is listed in

Course Tag

Agile Software Development User Story Software Requirements Use Case

Related Wiki Topic

Article Example
Software requirements Software Requirements is a field within software engineering that deals with establishing the needs of stakeholders that are to be solved by software. The IEEE Standard Glossary of Software Engineering Terminology defines a requirement as:
HP Client Automation Software Radia Client Automation has been called various names in its life-cycle: HP OpenView Configuration Management software, Radia Enterprise Desktop Manager (EDM), and HP Client Automation Software.
Software requirements The activities related to working with software requirements can broadly be broken up into Elicitation, Analysis, Specification, and Management.
Software requirements specification A software requirements specification (SRS) is a description of a software system to be developed. It lays out functional and non-functional requirements, and may include a set of use cases that describe user interactions that the software must provide.
Software architecture Requirements engineering and software architecture can be seen as complementary approaches: while software architecture targets the 'solution space' or the 'how', requirements engineering addresses the 'problem space' or the 'what'. Requirements engineering entails the elicitation, negotiation, specification, validation, documentation and management of requirements. Both requirements engineering and software architecture revolve around stakeholder concerns, needs and wishes.
Requirements analysis In systems engineering and software engineering, requirements analysis encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product or project, taking account of the possibly conflicting requirements of the various stakeholders, "analyzing, documenting, validating and managing" software or system requirements.
Software requirements Requirements change during projects and there are often many of them. Management of this change becomes paramount to ensuring that the correct software is built for the stakeholders.
Software requirements specification The software requirements specification document enlists enough and necessary requirements that are required for the project development. To derive the requirements we need to have clear and thorough understanding of the products to be developed or being developed. This is achieved and refined with detailed and continuous communications with the project team and customer till the completion of the software.
Software requirements specification Software requirements specification establishes the basis for an agreement between customers and contractors or suppliers (in market-driven projects, these roles may be played by the marketing and development divisions) on what the software product is to do as well as what it is not expected to do. Software requirements specification permits a rigorous assessment of requirements before design can begin and reduces later redesign. It should also provide a realistic basis for estimating product costs, risks, and schedules. Used appropriately, software requirements specifications can help prevent software project failure.
Software requirements specification The Software Requirements Specification (SRS) is a communication tool between stakeholders and software designers. The specific goals of the SRS are:
HP Client Automation Software Radia Client Automation software is an end-user device (PC and mobile device) lifecycle management tool for automating routine client-management tasks such as operating system deployments and upgrades, patch management, application software deployment, application use monitoring, security, compliance, and remote system management.
System requirements To be used efficiently, all computer software needs certain hardware components or other software resources to be present on a computer. These prerequisites are known as (computer) system requirements and are often used as a guideline as opposed to an absolute rule. Most software defines two sets of system requirements: minimum and recommended. With increasing demand for higher processing power and resources in newer versions of software, system requirements tend to increase over time. Industry analysts suggest that this trend plays a bigger part in driving upgrades to existing computer systems than technological advancements. A second meaning of the term of System requirements, is a generalisation of this first definition, giving the requirements to be met in the design of a system or sub-system. Typically an organisation starts with a set of Business requirements and then derives the System requirements from there.
Requirements management Requirements management involves communication between the project team members and stakeholders, and adjustment to requirements changes throughout the course of the project. To prevent one class of requirements from overriding another, constant communication among members of the development team is critical. For example, in software development for internal applications, the business has such strong needs that it may ignore user requirements, or believe that in creating use cases, the user requirements are being taken care of.
Needs analysis Needs analysis is the formal process that sits alongside Requirements analysis and focuses on the human elements of the requirements.
Requirements specification Requirements specification in systems engineering and software engineering is the direct result of a requirements analysis and can refer to
System requirements Software requirements deal with defining software resource requirements and prerequisites that need to be installed on a computer to provide optimal functioning of an application. These requirements or prerequisites are generally not included in the software installation package and need to be installed separately before the software is installed.
Software requirements Specification involves representing and storing the collected requirements knowledge in a persistent and well-organized fashion that facilitates effective communication and change management. Use cases, user stories, functional requirements, and visual analysis models are popular choices for requirements specification.
System requirements Often manufacturers of games will provide the consumer with a set of requirements that are different from those that are needed to run a software. These requirements are usually called the Recommended Requirements. These requirements are almost always of a significantly higher level than the minimum requirements, and represent the ideal situation in which to run the software. Generally speaking this is a better guideline than minimum system requirements in order to have a fully usable and enjoyable experience with a software.
Software verification and validation In other words, software verification is ensuring that the product has been built according to the requirements and design specifications, while software validation ensures that the product meets the user's needs, and that the specifications were correct in the first place. Software verification ensures that "you built it right". Software validation ensures that "you built the right thing". Software validation confirms that the product, as provided, will fulfill its intended use.
HP Client Automation Software Radia Client Automation software can manage hundreds of thousands of client devices. It can be used to manage Microsoft Windows, Mac OS X and Linux desktops and laptops, mobile devices and tablets running iOS, Android and Windows 8 Series Mobile operating System, HP thin clients, and Windows and Linux servers.