Você está na página 1de 9

DESIGN AND ARCHITECTURE 1

Running head: DESIGN AND ARCHITECTURE

The Difference between Design and Architecture

David "Toby" Meyers

BSA/375 – Fundamentals of Business Systems Development

University of Phoenix

August 7, 2009
DESIGN AND ARCHITECTURE 2

Abstract

This article assesses Software Design and Architecture in the Software Development Life

Cycle. It attempts to describe Software Design and Architecture and its importance to software

development. It asserts that Software Design and Architecture is the concept and structural

relationships defined by the intent or necessity of the client and the constraints of the hardware

platform as interpreted and identified by the Software Development Team. It discusses the

difference between Design and Architecture. It gives examples of design and architecture

patterns. It attempts to explain how Network Topology can be integral in Information Security.
DESIGN AND ARCHITECTURE 3

The difference between Design and Architecture in Software Development.

When developing a Software Development Lifecycle Plan it is integral to understand the

difference between Design and Architecture. It is important to understand Design and

Architecture as they are different but interdependent. Design is about concept; Architecture is

about constraints. It is also important to see Design Templates and Architecture examples to

illustrate the difference and interdependencies between them.

What is Design: What is Architecture?

Software Design and Architecture is the concept and structural relationships defined by

the intent or necessity of the client and the constraints of the hardware platform as interpreted

and identified by the Software Development Team.

Design is what is conceive or fashion in the mind which is purposefully and inventively

arrange out of parts or details, with reasoned purpose and intent (Cambridge Dictionary Online,

2008). “Design is the central focus of software engineering. Design is both a verb and a noun. It

is a key thing we do and that we produce,” (Hoek & Taylor, 2007). “Design is the description of

how something works within a given set of constraints,” (Hablutzel, 2006). Software design is a

process of developing a solution and planning to a customer problem.

Software Architecture is the terms of constraint in structural elements and relationships

within a software model that the Software Architect defines. (Malan & Bredemeyer, 2008)

“Software architecture is the principled study of the overall structure of software systems,

especially the relations among subsystems and components,” (Mary Shaw, 2001). “Architecture

is the description of a system of constraints,” (Hablutzel, 2006). The difference between Design

and Architecture is that design is about concept and intent; Architecture is about the constraints

and requirements of a software project.


DESIGN AND ARCHITECTURE 4

Design Strategy Example

Design Strategy is considerate to how the design of software is approached. Appleton’s

approach considers the issues or necessity of the client must be responded in the design of the

software. According to Appleton’s Software Design Specification Template, (Appleton 1997), are

several general topics in Software Design to be considered, or “which need to be addressed or

resolved,” (Appleton 1997), such as: Assumptions and Dependencies, Development Methods,

Goals and Guidelines. Assumptions are the specifications that are common among software

development. Dependencies are mostly the hardware, processor and operating system

considerations; things which the software is dependent to run. Development Method is the

approach that is considered by the Software Development Team as the process used to develop

the software. Goals and Guidelines of Software Development are the existential properties that

define the software. Design Strategy is about how the design will take place, how the concept

will be brought about to be functional according to need. Dr. Mirendas’ example of Software

Design Specification (Mirenda, 2006) offers a simplistic but, overall view of the more common

Design Specifications, such as: Assumptions, Constraints and Rationale. Assumptions would be

the same as above. Constraints are just that the constraints of the operating systems and

Hardware. Rationale is the reason and purpose of the software within the design. Whatever

approach is taken to Software Design it must be remembered that it must fit the clients need, the

operating system and hardware constraints and the ability to produce the desired results.
DESIGN AND ARCHITECTURE 5

Software Architecture Development Example

Software Architecture Development includes approaches to the way that Software

Architecture is analyzed and approached. Gaind’s approach considers many Software

Architectural considerations; it focuses on the decisions made by the Software Architectural

Team including the hardware constraints and the necessities presented by the end user clients or

other stakeholders. According to Gaind’s Key Decisions Template, (Gaind, 2005), there are

several general topics in Software Architecture to be considered, such as: The Key Decision,

Business Drivers, Technical Drivers, Approach, Benefits, Drawbacks, Drivers Realized and

Issues & Considerations. The Key Decision is the decision on which most of the requirements

and considerations are based on and measured against; is the most important principle on which

the software developers are responsible to in the Software Development. Business Drivers are

the requirements of the business or client or what is to be performed by the software in the

business plan. Technical Drivers are technical requirements and considers constraints both

hardware and software and the adeptness of the end user. Approach is the considered steps to

create a desired result; to make as similar to the clients needs, the technical constraints and the

vision of the Software Development team, (Merriam-Webster, 2009). Benefits are the measure of

how helpful the software is as compared to the intent of the software. Drawbacks are the measure

of how imprudent the software is compared to the intent and function of the business; in other

words, does it impede the business system, does it slow the process that the software is intended

to solve. Drivers realized are the motivating factors that are not covered in the Analysis of the

clients need or elsewhere in the Gaind Approach as they come up in the Software Architectural

Development Analysis; Drivers Realized are those realized through the analysis of other drivers.

Issues and Considerations are other considerations that are relevant and necessary to consider
DESIGN AND ARCHITECTURE 6

during the Development of the Software which may not be otherwise be in the analysis for

various reasons.
DESIGN AND ARCHITECTURE 7

Conclusion

Software Design and Architecture is the concept and structural relationships defined by

the intent or necessity of the client and the constraints of the hardware platform as interpreted

and identified by the Software Development Team. Software design is a process of developing a

solution and planning to a customer problem. Software Architecture is the terms of constraint in

structural elements and relationships within a software model that the Software Architect defines.

The difference between Design and Architecture is that design is about concept and intent;

Architecture is about the constraints and requirements of a software project.

Proper Design and Architecture define a software solution to either a conceptual problem

or a specific system requirement. Software has not only to be easy to use, meet the requirements

of the Software and Hardware environment that it must run in, fulfill the clients’ expectations

and be maintainable. This is why proper design and architecture is critical for solid, stable

applications.
DESIGN AND ARCHITECTURE 8

References

Appleton (1997). Software Design Specification Template.

Retrieved August 10, 2009, from CM Crossroads:

http://www.cmcrossroads.com/bradapp/docs/sdd.html.

Approach (2009). Merriam-Webster Online Dictionary.

Retrieved August 10, 2009, from:

http://www.merriam-webster.com/dictionary/approach.

Design (2008). Cambridge: Cambridge University Press.

Retrieved August 9, 2009, from:

http://www.answers.com/design.

Gaind (2005). Key Decisions Template.

The Architecture Discipline.

Retrieved August 10, 2009, from:

http://www.bredemeyer.com/pdf_files/WhitePapers/Key%20Decisions%20Template.doc.

Hablutzel, (2006). A concise distinction between design and architecture.

Toolbox for IT: A Moment of Clarity

Retrieved August 9, 2009, from Toolbox for IT:

http://it.toolbox.com/blogs/moment-of-clarity/a-concise-distinction-between-design-and-

architecture-7778.

Hoek & Taylor (2007). Software Design and Architecture.

IEEE Software Magazine.

Retrieved August 7, 2009, from ACM Database:

http://www.acm.org.
DESIGN AND ARCHITECTURE 9

Malan & Bredemeyer (2008). Software Architecture and Related Concerns.

The Architecture Discipline.

Retrieved August 9, 2009, from:

http://www.bredemeyer.com/whatis.htm.

Mirenda (2006). Software Design Specification.

Retrieved August 10, 2009, from Word Press:

http://sdesmedt.wordpress.com/2006/08/22/software-design-specification-and-software-

module-specification/.

Shaw (2001). The Coming-of-Age of Software Architecture Research.

Institute for Software Research, International.

Retrieved August 7, 2009, from ACM Database:

http://www.acm.org.

Você também pode gostar