Requirements Gathering for Secure Software Development (Coursera)

Requirements Gathering for Secure Software Development (Coursera)

In Software Requirements Elicitation for Secure Software Development, we're going to discuss the overall software requirements process as it applies in waterfall, spiral, and agile models. You'll learn about each of these processes and your goals as a software requirements analyst. This is not an easy task! Who do you talk to, when, and what kind of knowledge are you trying to obtain, in any software life cycle? How do you handle obstacles as you go? These are the questions we will focus on answering in this specialization.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

Course 1 of 5 in the Requirements Engineering: Secure Software Specifications Specialization.

Syllabus

WEEK 1
The Software Requirement Specification Process and Cost
Software Requirements are a vital part of the Software Development Lifecycle. While there are many ways to go about collecting and recording requirements, the cost of bad requirements is high. Here we discuss what Software Requirements Specifications are and some challenges in writing them well.

WEEK 2
Starting to Build Requirements- What does the customer want?
We need to figure out what the customer wants. And moreso- what they need! How do you develop a relationship with you customers and learn about the overall domain and potential solutions? Here you will learn about the requirements engineering process, what it entails, how to develop a relationship with your customer, and some tips to succeed early on.

WEEK 3
Software Lifecycles
Not all requirements documents are created equally- if at all (formally). How you work with requirements partially depends on the software lifecycle used. Here we learn about the different software development lifecycles and discuss how they affect the requirements we produce.

WEEK 4
Goals and Models for Elicitation
To increase flexibility to change in software development, the agile lifecycle was produced. The agile process much changes how we deal with requirements. We discuss these challenges and your role as a requirements analyst. We also begin to analyze the types of statements that you want to form as you elicit data to move towards clarity.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Sofware Requirements Prioritization: Risk Analysis (Coursera) Coursera
University of Colorado System

Sofware Requirements Prioritization: Risk Analysis (Coursera)

Risk Analysis, Assessment, and Prioritization looks at how you can manage conflicts at system levels, but it can also be applied to lower level assessments. How do you manage and document conflict, along with alternatives? In analyzing alternatives, you must consider risks. In this course, we'll look into how to analyze risk, evaluate risk, document risks, and use this information for prioritization of requirements. Qualitative and Quantitative approaches will be covered.

Jun 1st 2026
4 Weeks
Requirements Specifications: Goals and Conflict Analysis (Coursera) Coursera
University of Colorado System

Requirements Specifications: Goals and Conflict Analysis (Coursera)

In Requirements Goal Development and Language Analysis, we move from the spoken word to precise writing. A first step in this is writing goals. We will talk about goals used in requirements engineering and, from this, writing use cases from what we learn. Use cases can be in diagram and written form. Then- the villains enter- misuse cases and abuse cases are discussed in how we can deal with them in a Requirements environment. In gathering requirements, you'll have many questions remaining. Often this leads to the need of more interviews and group sessions. We'll go through how to handle group meetings, dealing with inconsistency, and handling conflict between stakeholders.

Jun 1st 2026
4 Weeks
Approximation Algorithms Part I (Coursera) Coursera
École normale supérieure

Approximation Algorithms Part I (Coursera)

How efficiently can you pack objects into a minimum number of boxes? How well can you cluster nodes so as to cheaply separate a network into components around a few centers? These are examples of NP-hard combinatorial optimization problems. It is most likely impossible to solve such problems efficiently, so our aim is to give an approximate solution that can be computed in polynomial time and that at the same time has provable guarantees on its cost relative to the optimum.

Jun 8th 2026
5-12 Weeks
Interfacing with the Raspberry Pi (Coursera) Coursera
University of California, Irvine

Interfacing with the Raspberry Pi (Coursera)

The Raspberry Pi uses a variety of input/output devices based on protocols such as HDMI, USB, and Ethernet to communicate with the outside world. In this class you will learn how to use these protocols with other external devices (sensors, motors, GPS, orientation, LCD screens etc.) to get your IoT device to interact with the real world.

Jun 8th 2026
4 Weeks
Requirements Elicitation: Artifact and Stakeholder Analysis (Coursera) Coursera
University of Colorado System

Requirements Elicitation: Artifact and Stakeholder Analysis (Coursera)

In Elicitation: Artifact and Stakeholder Driven Analysis, you will learn to use both recorded and presently unrecorded knowledge in your elicitation techniques. As you get started in finding out about the new product, you must first learn about the product that was (if there was one) and then learn about the system to be. Oftentimes, you'll find yourself in an environment you know nothing about! This course will help you find ways to learn about the domain, the system that was, and the system to be. Please review: "Who this class is for to determine if you are ready to take this graduate level course".

Jun 1st 2026
4 Weeks
Introduction to the Internet of Things and Embedded Systems (Coursera) Coursera
University of California, Irvine

Introduction to the Internet of Things and Embedded Systems (Coursera)

The explosive growth of the “Internet of Things” is changing our world and the rapid drop in price for typical IoT components is allowing people to innovate new designs and products at home. In this first class in the specialization you will learn the importance of IoT in society, the current components of typical IoT devices and trends for the future. IoT design considerations, constraints and interfacing between the physical world and your device will also be covered. You will also learn how to make design trade-offs between hardware and software. We'll also cover key components of networking to ensure that students understand how to connect their device to the Internet.

Jun 8th 2026
4 Weeks
Algorithmic Toolbox (Coursera) Coursera
University of California, San Diego,Higher School of Economics - HSE University

Algorithmic Toolbox (Coursera)

The course covers basic algorithmic techniques and ideas for computational problems arising frequently in practical applications: sorting and searching, divide and conquer, greedy algorithms, dynamic programming. We will learn a lot of theory: how to sort data and how it helps for searching; how to break a large problem into pieces and solve them recursively; when it makes sense to proceed greedily; how dynamic programming is used in genomic studies. You will practice solving computational problems, designing new algorithms, and implementing solutions efficiently (so that they run in less than a second).

Jun 8th 2026
5-12 Weeks
Code Yourself! An Introduction to Programming (Coursera) Coursera
University of Edinburgh,Universidad ORT Uruguay

Code Yourself! An Introduction to Programming (Coursera)

Have you ever wished you knew how to program, but had no idea where to start from? This course will teach you how to program in Scratch, an easy to use visual programming language. More importantly, it will introduce you to the fundamental principles of computing and it will help you think like a software engineer.

Jun 8th 2026
5-12 Weeks
Ordered Data Structures (Coursera) Coursera
University of Illinois at Urbana-Champaign

Ordered Data Structures (Coursera)

In this course, you will learn new data structures for efficiently storing and retrieving data that is structured in an ordered sequence. Such data includes an alphabetical list of names, a family tree, a calendar of events or an inventory organized by part numbers. The specific data structures covered by this course include arrays, linked lists, queues, stacks, trees, binary trees, AVL trees, B-trees and heaps. This course also shows, through algorithm complexity analysis, how these structures enable the fastest algorithms to search and sort data.

Jun 10th 2026
4 Weeks
Introduction to CSS3 (Coursera) Coursera
University of Michigan

Introduction to CSS3 (Coursera)

The web today is almost unrecognizable from the early days of white pages with lists of blue links. Now, sites are designed with complex layouts, unique fonts, and customized color schemes. This course will show you the basics of Cascading Style Sheets (CSS3). The emphasis will be on learning how to write CSS rules, how to test code, and how to establish good programming habits.

Jun 8th 2026
4 Weeks
Advanced Styling with Responsive Design (Coursera) Coursera
University of Michigan

Advanced Styling with Responsive Design (Coursera)

It used to be the case that everyone viewed webpages on about the same size screen. But with the explosion of the use of smartphones to access the Internet, the landscape of design has completely changed. People viewing your site will now expect that it will perform regardless of the platform (smartphone, tablet, laptop, or desktop computer). This ability to respond to any platform is called responsive design.

Jun 8th 2026
4 Weeks