Overview
Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Information security is an extremely important topic in our world today. As individuals, we seek to protect our personal information while the corporations we work for have to protect suppliers, customers, and company assets. Creating secure software requires implementing secure practices as early in the software development lifecycle (SDLC) as possible.
This Specialization focuses on ensuring security as part of software design and is for anyone with some workplace experience in software development who needs the background, perspective, and skills to recognize important security aspects of software design.
You’ll consider secure design for multiple SDLC models, software architecture considerations, and design patterns. You’ll understand how to identify and implement secure design when considering databases, UML, unit testing, and ethics. Mindsets and attitudes of successful designers—and hackers—are presented as well as project successes and failures.
Always at the core of front-end design will be user experience and you will have the opportunity to ensure clean and effective user interfaces that also serve to provide the best security. Back-end development topics such as database design are also covered.
Syllabus
- Course 1: Software Design as an Element of the Software Development Lifecycle
- Course 2: Software Design as an Abstraction
- Course 3: Software Design Methods and Tools
- Course 4: Software Design Threats and Mitigations
Courses
-
Since many software developers are compulsive coders, they have created software over the years to help them do their job. There are tools which make design and its associated tasks easier. The course introduces some basic tools and techniques to help you with design. Tools aren’t always tangible, however. The last two lessons of this course discuss questions of Ethics in software development. The purpose here is, as with tools, to equip you to better carry our your responsibilities as a designer. Students will be required to have a prior knowledge of writing and delivering software and some programming knowledge in java.
-
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?
-
The design step in developing software has some unique characteristics. First of all, it’s the only step where drawing pictures of things is the norm. Why is that? What do pictures do that other representations cannot do? Pictures have varying levels of detail; pictures have context. Pictures…paint a picture. Why are these things important? In this course, too, we begin looking at other disciplines (building architecture is a favorite one) for lessons on design.
-
The design step in developing software has some unique characteristics. First of all, it’s the only step where drawing pictures of things is the norm. Why is that? What do pictures do that other representations cannot do? Pictures have varying levels of detail; pictures have context. Pictures…paint a picture. Why are these things important? In this course, too, we begin looking at other disciplines (building architecture is a favorite one) for lessons on design.
Taught by
Albert Glock