Escolar Documentos
Profissional Documentos
Cultura Documentos
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
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
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
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
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
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
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
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;
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
http://www.cmcrossroads.com/bradapp/docs/sdd.html.
http://www.merriam-webster.com/dictionary/approach.
http://www.answers.com/design.
http://www.bredemeyer.com/pdf_files/WhitePapers/Key%20Decisions%20Template.doc.
http://it.toolbox.com/blogs/moment-of-clarity/a-concise-distinction-between-design-and-
architecture-7778.
http://www.acm.org.
DESIGN AND ARCHITECTURE 9
http://www.bredemeyer.com/whatis.htm.
http://sdesmedt.wordpress.com/2006/08/22/software-design-specification-and-software-
module-specification/.
http://www.acm.org.