Software Design and Architecture Specialization

Start Date: 07/12/2020

Course Type: Specialization Course

Course Link:

Explore 1600+ online courses from top universities. Join Coursera today to learn data science, programming, business strategy, and more.

About Course

In the Software Design and Architecture Specialization, you will learn how to apply design principles, patterns, and architectures to create reusable and flexible software applications and systems. You will learn how to express and document the design and architecture of a software system using a visual notation. Practical examples and opportunities to apply your knowledge will help you develop employable skills and relevant expertise in the software industry.

Course Syllabus

Object-Oriented Design
Design Patterns
Software Architecture
Service-Oriented Architecture

Deep Learning Specialization on Coursera

Course Introduction

Mindful Strategies for Quality Software. Think like an expert architect and create quality software using design patterns and principles. Software Design and Architecture Specialization This advanced course builds upon the previous courses in the Software Design and Architecture Specialization. It focuses on the topics of software architecture and software design. This specialization focuses on software architecture in the context of software development. This specialization can be considered a prerequisite for the other courses in the specialization. If you are intending to work on a design team, this course will help you understand how software design is organized and managed. The specialization includes the following 4 modules: 1. Describe the state-of-the-art in contemporary software design 2. Choose a project management system for your team 3. Choose an architecture style for your project 4. Create a user interface The lectures and interactive exercises in this specialization are designed to help you learn and apply the relevant concepts and techniques for creating effective user interfaces as well as for evaluating and selecting the most suitable design system, style and architecture style for a given project. The specialization is structured around four topics: 1. Choose an architecture style for your project 2. Create a user interface style and architecture 3. Select an architecture style for your project 4. Explore and choose an appropriate project management system and user interface style The lectures and interactive exercises in this specialization are designed to help you gain and apply the relevant concepts and techniques for evaluating and selecting the most suitable project management system, style and architecture style for a given project. Please refer to the specialization overview for

Course Tag

Architecture Tradeoff Analysis Method Design Pattern Representational State Transfer (REST) Service-Oriented Architecture

Related Wiki Topic

Article Example
Software design Software design usually involves problem solving and planning a software solution. This includes both a low-level component and algorithm design and a high-level, architecture design.
Software architecture There are many activities that a software architect performs. A software architect typically works with project managers, discusses architecturally significant requirements with stakeholders, designs a software architecture, evaluates a design, communicates with designers and stakeholders, documents the architectural design and more. There are four core activities in software architecture design. These core architecture activities are performed iteratively and at different stages of the initial software development life-cycle, as well as over the evolution of a system.
Software architecture The comparison between software design and (civil) architecture was first drawn in the late 1960s
Software architecture Documenting software architecture facilitates communication between stakeholders, captures early decisions about the high-level design, and allows reuse of design components between projects.
Software architecture While in IEEE 1471, software architecture was about the architecture of "software-intensive systems", defined as "any system where software contributes essential influences to the design, construction, deployment, and evolution of the system as a whole", the 2011 edition goes a step further by including the ISO/IEC 15288 and ISO/IEC 12207 definitions of a system, which embrace not only hardware and software, but also "humans, processes, procedures, facilities, materials and naturally occurring entities". This reflects the relationship between software architecture, Enterprise Architecture and Solution Architecture.
Software architecture Architecture requires critical supporting activities. These supporting activities take place throughout the core software architecture process. They include knowledge management and communication, design reasoning and decision making, and documentation.
Software architecture Architecture is design but not all design is architectural. In practice, the architect is the one who draws the line between software architecture (architectural design) and detailed design (non-architectural design). There are no rules or guidelines that fit all cases, although there have been attempts to formalize the distinction.
Software architecture There are also concerns that software architecture leads to too much Big Design Up Front, especially among proponents of Agile software development. A number of methods have been developed to balance the trade-offs of up-front design and agility, including the agile method DSDM which mandates a "Foundations" phase during which "just enough" architectural foundations are laid. IEEE Software devoted a special issue to the interaction between agility and architecture.
Architecture Design and Assessment System The Architecture Design and Assessment System (ADAS) was a set of software programs offered by the Research Triangle Institute from the mid-1980s until
Platform Architecture and Design PLATFORM ARCHITECTURE AND DESIGN is a nationally distributed magazine looking at design, architecture and interiors. The magazine was first published in March 2015. It targets architects, designers, interior design professionals and enthusiasts.
Architecture Documenting software architecture facilitates communication between stakeholders, captures decisions about the architecture design, and allows reuse of design components between projects.
Software architecture Research institutions have played a prominent role in furthering software architecture as a discipline. Mary Shaw and David Garlan of Carnegie Mellon wrote a book titled "Software Architecture: Perspectives on an Emerging Discipline" in 1996, which promoted software architecture concepts such as components, connectors, and styles. The University of California, Irvine's Institute for Software Research's efforts in software architecture research is directed primarily in architectural styles, architecture description languages, and dynamic architectures.
Software architecture Architecture Evaluation is the process of determining how well the current design or a portion of it satisfies the requirements derived during analysis. An evaluation can occur whenever an architect is considering a design decision, it can occur after some portion of the design has been completed, it can occur after the final design has been completed or it can occur after the system has been constructed. Some of the available software architecture evaluation techniques include Architecture Tradeoff Analysis Method (ATAM) and TARA. Frameworks for comparing the techniques are discussed in frameworks such as SARA Report and Architecture reviews: practice and experience.
Software architecture Software architecture description involves the principles and practices of modeling and representing architectures, using mechanisms such as: architecture description languages, architecture viewpoints, and architecture frameworks.
Software architecture Architecture Evolution is the process of maintaining and adapting an existing software architecture to meet requirement and environmental changes. As software architecture provides a fundamental structure of a software system, its evolution and maintenance would necessarily impact its fundamental structure. As such, architecture evolution is concerned with adding new functionality as well as maintaining existing functionality and system behaviour.
Software design description A software design description (a.k.a. software design document or SDD) is a written description of a software product, that a software designer writes in order to give a software development team overall guidance to the architecture of the software project. An SDD usually accompanies an architecture diagram with pointers to detailed feature specifications of smaller pieces of the design. Practically, the description is required to coordinate a large team under a single vision, needs to be a stable reference, and outline all parts of the software and how they will work.
Architecture and Design Scotland Architecture and Design Scotland, styled Architecture+DesignScotland (A+DS; ), is an executive non-departmental public body of the Scottish Government.
Software architecture description Influences on architecture description came from the areas of Software Engineering (such as data abstraction and programming in the large) and from system design (such as SARA).
Software architecture Requirements engineering and software architecture can be seen as complementary approaches: while software architecture targets the 'solution space' or the 'how', requirements engineering addresses the 'problem space' or the 'what'. Requirements engineering entails the elicitation, negotiation, specification, validation, documentation and management of requirements. Both requirements engineering and software architecture revolve around stakeholder concerns, needs and wishes.
School of Architecture and Interior Design The Ph.D. in Architecture with a concentration in history, theory, and criticism provides an in-depth analysis of the key theoretical concepts that underlie architectural practice, all the while encouraging students to put these conceptual frameworks to work to analyze and critically evaluate the built environment from a transnational perspective. The program offers several streams of specialization – historic preservation, sustainable design, community design, humanitarian design, post-colonial architecture, international architecture, new building technologies, and interior design theory. The first two years include core curriculum, the third year involves comprehensive exams and a dissertation proposal, and the fourth and fifth years contain dissertation research and writing.