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

SRS Documents: Requirements and Diagrammatic Notations (Coursera) Coursera
University of Colorado System

SRS Documents: Requirements and Diagrammatic Notations (Coursera)

As requirements are being gathered and prioritized, they also need to be documented. In Diagrammatic Notations and Software Requirements Specification Writing, we discuss and practice the process of turning requirements into something readable to the customers at a high level, and the developers. When a designer or developer reads your document, they should be able to understand the overall idea, the scope, the domain, the resources, the expectations, and why alternative choices are not selected. To create a document in this way, you use a balance between storytelling (with pictures!) and complex diagrams.

Jul 27th 2026
5-12 Weeks
Automation With Salt (Coursera) Coursera
Whizlabs

Automation With Salt (Coursera)

Salt is an automation configuration management framework designed on the idea of executing commands remotely. This is open source software developed to automate the configuration of server systems. The course begins with the introduction to Automation with Salt followed by Salt Installation. A brief explanation about features of Salt using command-line tools and Matching Elements is provided in the course. The course also demonstrates the working of Jinja2 and Pillars in a detailed manner.

Aug 17th 2026
2 Weeks
Advanced Modeling for Discrete Optimization (Coursera) Coursera
University of Melbourne,The Chinese University of Hong Kong

Advanced Modeling for Discrete Optimization (Coursera)

Optimization is a common form of decision making, and is ubiquitous in our society. Its applications range from solving Sudoku puzzles to arranging seating in a wedding banquet. The same technology can schedule planes and their crews, coordinate the production of steel, and organize the transportation of iron ore from the mines to the ports. Good decisions in manpower and material resources management also allow corporations to improve profit by millions of dollars.

Aug 17th 2026
5-12 Weeks
Estructuras de datos de Python (Coursera) Coursera
University of Michigan

Estructuras de datos de Python (Coursera)

Este curso presentará las estructuras de datos básicas del lenguaje de programación Python. Veremos los conceptos básicos de la programación de procedimientos y exploraremos cómo podemos usar las estructuras de datos integrados de Python, como listas, diccionarios y tuplas, para realizar análisis de datos cada vez más complejos. Este curso abarcará los capítulos 6 a 10 del libro de texto “Python para todos”. Este curso cubre Python 3.

Aug 17th 2026
5-12 Weeks
Client Needs and Software Requirements (Coursera) Coursera
University of Alberta

Client Needs and Software Requirements (Coursera)

This course covers practical techniques to elicit and express software requirements from client interactions. Upon successful completion of this course, you will be able to: Create clear requirements to drive effective software development; visualize client needs using low-fidelity prototypes; maximize the effectiveness of client interactions - adapt to changing product requirements.

Aug 3rd 2026
4 Weeks
Selenium WebDriver with Python (Coursera) Coursera
Whizlabs

Selenium WebDriver with Python (Coursera)

“Selenium WebDriver with Python” is a foundational course that aims to provide a comprehensive understanding of Selenium and its components. It also helps in understanding how Selenium WebDriver Operates. This course begins by demonstrating an environment setup for Selenium WebDriver with Python. A brief description of locating Web elements and web Interactions is provided in this course. This course covers an overview of testing frameworks with Selenium WebDriver. Some advanced topics such as Handling Popup, Alerts, Multiple Browser Tabs, Mouse and Keyboard interactions are also highlighted in this course.

Aug 17th 2026
3 Weeks
Fundamentals of Kubernetes Deployment (Coursera) Coursera
LearnQuest

Fundamentals of Kubernetes Deployment (Coursera)

This course is designed to give you a deeper understanding of Kubernetes. Over the next few weeks, you'll learn about several features of Kubernetes, the Kubernetes Architecture, how to create clusters, and different installation configurations. We'll also explore deployments and how they are scaled, updated, and rolled back. We will discuss clusters, pods, and nodes, and dive into Persistent Volumes as well as Kubernetes Authorization and Authentication.

Aug 17th 2026
2 Weeks
Web Application Development: Basic Concepts (Coursera) Coursera
University of New Mexico

Web Application Development: Basic Concepts (Coursera)

This is the first course in a Coursera Specialization track involving Web Application Architectures. This course will give you the basic background, terminology and fundamental concepts that you need to understand in order to build modern full stack web applications. A full stack web developer is familiar with each "layer" of the software technologies involved in a web application, including data modeling and database technologies, the web server environment and middleware components, network protocols, the user interface and basic visual design and user interaction concepts.

Aug 17th 2026
5-12 Weeks
System Validation (2): Model process behaviour (Coursera) Coursera
EIT Digital

System Validation (2): Model process behaviour (Coursera)

System Validation is the field that studies the fundamentals of system communication and information processing. It is the next logical step in computer science and improving software development in general. It allows automated analysis based on behavioural models of a system to see if a system works correctly. We want to guarantee that the systems does exactly what it is supposed to do.

Aug 17th 2026
3 Weeks
Introduction à la programmation orientée objet (en C++) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Introduction à la programmation orientée objet (en C++) (Coursera)

Ce cours introduit la programmation orientée objet (encapsulation, abstration, héritage, polymorphisme) en l'illustrant en langage C++. Il présuppose connues les bases de la programmation (variables, types, boucles, fonctions, ...). Il est conçu comme la suite du cours « Initiation à la programmation (en C++) ».

Aug 17th 2026
5-12 Weeks
Search Engines for Web and Enterprise Data (Coursera) Coursera
The Hong Kong University of Science and Technology - HKUST

Search Engines for Web and Enterprise Data (Coursera)

This course introduces the technologies behind web and search engines, including document indexing, searching and ranking. You will also learn different performance metrics for evaluating search quality, methods for understanding user intent and document semantics, and advanced applications including recommendation systems and summarization. Real-life examples and case studies are provided to reinforce the understanding of search algorithms.

Aug 17th 2026
13-24 Weeks