This course talks about software development lifecycles a description/prescription for how we write software. Design is a step in this life cycle, and the course explores the implications of this. Design has a role in the life cycle; it is always there, regardless of the kind of life cycle we’re talking about. Why is that? Why was design considered as a step in this life cycle?
Who is this class for: This is a graduate class and it will be best appreciated by students who have a solid foundation in basic software engineering, who can code well (although no real coding is required) and who have had at least internships if not full-time jobs in software development. This is not to say that you need to know how to design software before you learn about designing secure software. It is to say that the more experience you already have in software development, the more the examples and ideas put forth in this course will resonate with you.
Course 1 of 4 in the Secure Software Design Specialization
Design, is a Thoughtful Process
Design requires that you be much more than minimally knowledgeable about your project and how to accomplish it.
How Design fits into the flow of software development
How Design translates requirements into specifications which coders can understand and use.
Design in the Context of Different SDLC’s
There are different ways to develop software, but design plays a similar set of roles regardless of why way is used.
How High-Level Design (or Architecture) handles Security Problems
The difference between high-level and detailed design and how high-level design is good at handling security issues.
A comprehensive course assessment comprising of 5 quizzes. Each assessment contains a randomized set of questions from different modules of the course.
Graded: Assessment 1
Graded: Assessment 2
Graded: Assessment 3
Graded: Assessment 4
Graded: Assessment 5
ENROLL IN COURSE