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

Lean Software Development (Coursera) Coursera
University of Minnesota

Lean Software Development (Coursera)

While scrum and XP were transforming the software development industry, there were another set of ideas (derived from lean manufacturing and Six Sigma) that started to influence software development methods. These ideas around Lean Software Development forms the foundation of number of agile methods. In this course, we will explore lean concepts and cover some of the common Lean methods and techniques like Kanban, Value Stream Mapping, etc.

Nov 9th 2026
4 Weeks
Learn CSS Variables (Coursera) Coursera
Scrimba

Learn CSS Variables (Coursera)

CSS Custom Properties represent a significant advancement for front-end developers, introducing the concept of variables to CSS. This innovation substantially reduces redundancy, enhances code legibility, and augments overall flexibility. Notably, CSS Variables distinguish themselves from their CSS preprocessor counterparts by seamlessly integrating into the Document Object Model (DOM), offering a plethora of advantages.

Nov 23rd 2026
1 Week
Agile Software Development (Coursera) Coursera
University of Minnesota

Agile Software Development (Coursera)

Software industry is going crazy on agile methods. It is rapidly becoming the choice for software development where requirements are unpredictable or is expected to change over time. This course will help you gain knowledge on what is agile? Why agile is better suited for these situations? We will also cover some of the most common agile frameworks like scrum and XP in depth.

Nov 9th 2026
4 Weeks
The Raspberry Pi Platform and Python Programming for the Raspberry Pi (Coursera) Coursera
University of California, Irvine

The Raspberry Pi Platform and Python Programming for the Raspberry Pi (Coursera)

The Raspberry Pi is a small, affordable single-board computer that you will use to design and develop fun and practical IoT devices while learning programming and computer hardware. In addition, you will learn how to set up up the Raspberry Pi environment, get a Linux operating system running, and write and execute some basic Python code on the Raspberry Pi. You will also learn how to use Python-based IDE (integrated development environments) for the Raspberry Pi and how to trace and debug Python code on the device.

Nov 9th 2026
4 Weeks
Engineering Practices for Building Quality Software (Coursera) Coursera
University of Minnesota

Engineering Practices for Building Quality Software (Coursera)

Agile embraces change which means that team should be able to effectively make changes to the system as team learns about users and market. To be good at effectively making changes to the system, teams need to have engineering rigor and excellence else embracing change becomes very painful and expensive. In this course, you will learn about engineering practices and processes that agile and traditional teams use to make sure the team is prepared for change. In additional, you will also learn about practices, techniques and processes that can help team build high quality software. You will also learn how to calculate a variety of quantitative metrics related to software quality.

Nov 9th 2026
4 Weeks
Writing Java Application Code (Coursera) Coursera
LearnQuest

Writing Java Application Code (Coursera)

This is the third course in a Specialization titled Java as a Second Language. This course presents instruction to IT professionals for developing Java applications. The material targets professional that are familiar with application programming, but do not have strong Java skills. The type of Java applications focus on: Console based Java applications, Java windows applications, and Java web and mobile applications. This course presents material on developing real applications, and includes hands-on application development labs. Learners will gain strong Java application development skills.

Nov 9th 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
Development of Real-Time Systems (Coursera) Coursera
EIT Digital

Development of Real-Time Systems (Coursera)

This course is intended for the Master's student and computer engineer who likes practical programming and problem solving! After completing this course, you will have the knowledge to plan and set-up a real-time system both on paper and in practice. The course centers around the problem of achieving timing correctness in embedded systems, which means to guarantee that the system reacts within the real-time requirements.

Nov 16th 2026
5-12 Weeks
Engineering Maintainable Android Apps (Coursera) Coursera
Vanderbilt University

Engineering Maintainable Android Apps (Coursera)

Engineering Maintainable Android Apps, which is a 4 week MOOC that shows by example various methods for engineering maintainable Android apps, including test-driven development methods and how to develop/run unit tests using JUnit and Robotium (or equivalent automated testing frameworks for Android), as well as how to successfully apply common Java/Android software patterns to improve the extensibility and clarity of Android apps.

Nov 9th 2026
4 Weeks
Agile with Atlassian Jira (Coursera) Coursera
Atlassian

Agile with Atlassian Jira (Coursera)

Agile teams use “just enough” planning and an incremental approach to accomplishing the work of the team. Every project and every team uses a custom agile methodology. This course discusses common foundational principles and practices used by agile methodologies, providing the student a flexible set of tools to use in any role (e.g. product owner, scrum master, project manager, team member) on any agile team.

Nov 23rd 2026
4 Weeks
Internet of Things: Setting Up Your DragonBoard™ Development Platform (Coursera) Coursera
University of California, San Diego

Internet of Things: Setting Up Your DragonBoard™ Development Platform (Coursera)

Do you want to develop skills to prototype mobile-enabled products using state-of-the-art technologies? In this course you will build a hardware and software development environment to guide your journey through the Internet of Things specialization courses. We will use the DragonBoard™ 410c single board computer (SBC).

Nov 16th 2026
5-12 Weeks