• Classroom
  • Online, Instructor-Led
  • Online, Self-Paced
Course Description

Covers the software design process, from understanding the need or problem, to creating suitable architecture and detailed design solutions, to preserving and evolving the design during implementation and maintenance. The main study topics include: requirements analysis models; user centered design; architecture design through decomposition and composition; architecture styles and architecture tactics for supporting various quality attributes such as security and usability; design for reuse and with reuse; detailed design object-oriented principles (such as SOLID) and design patterns; approaches for evaluating, comparing, and selecting design solutions; standard notations for documenting architecture views, detailed design, and analysis models; and industry standards for creating design deliverables. Students will acquire not only technical knowledge, but also soft skills such as communication, collaborations, critical thinking, leadership, negotiation, and time management.

Learning Objectives

Define concepts of user centered design, software architecture and detailed design, and building-in software quality. Apply engineering principles, methods, techniques, tools, and industry standard notations for developing and documenting software design Analyze and evaluate software design. Implement and deliver software in accordance with its design, in a team environment. Identify software design problems, propose adequate solutions, and analyze their benefits, cost, and limitations.

Framework Connections

The materials within this course focus on the NICE Framework Task, Knowledge, and Skill statements identified within the indicated NICE Framework component(s):

Competency Areas

Feedback

If you would like to provide feedback on this course, please e-mail the NICCS team at NICCS@hq.dhs.gov. Please keep in mind that NICCS does not own this course or accept payment for course entry. If you have questions related to the details of this course, such as cost, prerequisites, how to register, etc., please contact the course training provider directly. You can find course training provider contact information by following the link that says “Visit course page for more information...” on this page.