SRS Documents: Requirements and Diagrammatic Notations (Coursera)

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.

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

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

Syllabus

WEEK 1
Beginning to Write an SRS Document
Beginning to write a Software Requirements Specification (SRS) is a daunting process. As you start elicitation and move onward through the requirements cycle, you should plan your approach and begin writing as soon as possible. In this module, we discuss local and global rules that should be followed to lead to success.

WEEK 2
Beginning Diagramming
Within a requirements document, you should tell a story. Pictures help in stories! In this lesson, we'll look into some of the "pictures" that you can create to clarify understanding for all readers and to help yourself know that all points are being covered clearly and completely. Specifically, we'll consider high, system-scope diagrams.

WEEK 3
Lower-Level Diagramming
At a lower level, Entity Relationship Diagrams, Data Flow Diagrams, and SADT diagrams can be used. All three sets of diagrams work together to explain lower-level relationships and dataflow for components in the system-to-be. In this lesson, we'll discuss what these diagrams look like and what information should be included in such diagrams.

WEEK 4
Tracing Events
System level diagram and low level diagrams work together. Each low level diagram also relates to other low level diagrams. In addition to these diagrams, we also have diagrams to explain events.

WEEK 5
Combining and Confirming Diagram Consistency and Completeness
All diagrams created for a SRS document must link together, in addition to being linked to and explained in the text. In this lesson, we consider inter-view relationships between diagrams and how the combination of multiple diagrams assists in analysis of our system view and explanation. We also talk briefly about a more formal format of requirements writing for mission critical and safety critical systems. Lastly, we discuss using diagrams to correspond with text in the SRS document- remember: you're telling a story!

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

Related Courses

Continuous Delivery & DevOps (Coursera) Coursera
University of Virginia

Continuous Delivery & DevOps (Coursera)

Amazon famously delivers new code every 11.6 seconds. Just a few years ago, this was unthinkable: many ‘cutting edge’ firms would release software quarterly. When it comes to digital innovation, velocity is critical and many would say it’s the most reliable determinant of success. Bringing an organization to the state of the art (or even functional capability) in this area requires strong work in a combination of disciplines and a combination of both technical and managerial skills. There is no single cookie-cutter approach for achieving this capability.

Nov 2nd 2026
4 Weeks
Python Data Analysis (Coursera) Coursera
Rice University

Python Data Analysis (Coursera)

This course will continue the introduction to Python programming that started with Python Programming Essentials and Python Data Representations. We'll learn about reading, storing, and processing tabular data, which are common tasks. We will also teach you about CSV files and Python's support for reading and writing them. CSV files are a generic, plain text file format that allows you to exchange tabular data between different programs. These concepts and skills will help you to further extend your Python programming knowledge and allow you to process more complex data.

Nov 2nd 2026
4 Weeks
An Introduction to Interactive Programming in Python (Part 2) (Coursera) Coursera
Rice University

An Introduction to Interactive Programming in Python (Part 2) (Coursera)

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple.

Nov 2nd 2026
4 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.

Nov 9th 2026
5-12 Weeks
Android App Components - Services, Local IPC, and Content Providers (Coursera) Coursera
Vanderbilt University

Android App Components - Services, Local IPC, and Content Providers (Coursera)

This 4 week MOOC builds upon the core Android app components and concurrency frameworks covered in Course 2 by focusing on started and bound services, local inter-process communication (IPC), and content providers. Case study apps will be examined from multiple perspectives to learn how to program these app components using Android's material design paradigm.

Nov 2nd 2026
4 Weeks
Database Management Essentials (Coursera) Coursera
University of Colorado System

Database Management Essentials (Coursera)

Database Management Essentials provides the foundation you need for a career in database development, data warehousing, or business intelligence, as well as for the entire Data Warehousing for Business Intelligence specialization. In this course, you will create relational databases, write SQL statements to extract information to satisfy business reporting requests, create entity relationship diagrams (ERDs) to design databases, and analyze table designs for excessive redundancy.

Nov 2nd 2026
5-12 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".

Nov 2nd 2026
4 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.

Nov 9th 2026
3 Weeks
Continuous Integration (Coursera) Coursera
University of California, Davis

Continuous Integration (Coursera)

In today's world, software development is highly complex and often has large teams of developers working on small pieces of a larger software project. This course will go over the basic principles of using a continuous integration system effectively to constantly improve software. We're going to describe the different stations of continuous test, build, integration and deploy processes required for DevOps practices and apply best practices for quality software management, and tooling to accomplish iterative software build & test processes.

Nov 16th 2026
4 Weeks
Software Architecture (Coursera) Coursera
University of Alberta

Software Architecture (Coursera)

The way that software components — subroutines, classes, functions, etc. — are arranged, and the interactions between them, is called architecture. In this course you will study the ways these architectures are represented, both in UML and other visual tools. We will introduce the most common architectures, their qualities, and tradeoffs. We will talk about how architectures are evaluated, what makes a good architecture, and an architecture can be improved. We'll also talk about how the architecture touches on the process of software development.

Nov 2nd 2026
4 Weeks