Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

3/18/2017 Architectural 

Design in Software Engineering

Search

HOME TECHNOLOGY MOTIVATION ARTICLE DISCUSSION FORUM ABOUT US

Architectural Design in Software Engineering What Is SRS?List &

BY DINESH THAKUR
Describe Various
Characteristics Of An Website Developement
Requirements  of  the  software  should  be  transformed
SRS
into  an  architecture  that  describes  the  software's  top­ Computer Fundamental
Prototyping Model In
level  structure  and  identifies  its  components.  This  is Computer Networking
Software Engineering
accomplished through architectural design (also called
Structured Query (SQL)
Discuss In Detail
system  design),  which  acts  as  a  preliminary
Coupling And Cohesion Java Script
'blueprint'  from  which  software  can  be  developed.
IEEE  defines  architectural  design  as  'the  process  of What Is Feasibility HTML Language

defining  a  collection  of  hardware  and  software Study? Types Of


Cascading Style Sheet
components  and  their  interfaces  to  establish  the Feasibility. Explain
C Programming (Theory)
framework for the development of a computer system.' Feasibility Study
This  framework  is  established  by  examining  the C Programming (Pratical)
Process
software  requirements  document  and  designing  a Explain Software Visual Basic
model  for  providing  implementation  details.  These
Process & C++ Programming
details  are  used  to  specify  the  components  of  the
Characteristics Java Programming
system along with their inputs, outputs, functions, and
Spiral Model In
the interaction between them. An architectural design Java Servlet
Software Engineering
performs the following functions. Java Server Pages
What Is Process Model?
1.  It  defines Computer Graphics
Explain Waterfall
an
Model Along With Its Electronic Commerce
abstraction
Limitations
level  at Management (MIS)

which  the What Are Various


Data Structures
designers Software Engineering
Software Engineering
can  specify Problems? Explain
the What Is Structural Digital Electronics

functional Testing? Explain Any C# Programming

Database System

http://ecomputernotes.com/software­engineering/architecturaldesign 1/11
3/18/2017 Architectural Design in Software Engineering

and performance behaviour of the system. Two Techniques Used Struts 2 Tutorial

2.  It  acts  as  a  guideline  for  enhancing  the  system In It


PHP (Hypertext
(when  ever  required)  by  describing  those  features  of Explain Software Preprocessor)
Troubleshooting
the  system  that  can  be  modified  easily  without Configuration
How to
affecting the system integrity. Management Process
python
3.  It evaluates all top­level designs. Differentiate Between
Error, Fault And AngularJS Tutorial

Failure Compiler Design


4.  It develops and documents top­level design for the
Software Engineering ‐
external and internal interfaces.
What Is Software
5.    It  develops  preliminary  versions  of  user
Engineering? Write
documentation.
Basic Objective And
6.  It  defines  and  documents  preliminary  test
Need For Software
requirements  and  the  schedule  for  software
Engineering
integration.
List & Explain Various
7.  The sources of architectural design are listed below.
Components Of An SRS
8.    Information  regarding  the  application  domain  for Software Myths : What
the software to be developed
Is Software Myth In
9.  Using data­flow diagrams Software Engineering.
10.  Availability  of  architectural  patterns  and Describe Difference
architectural styles. Between Top‐Down &
Architectural  design  is  of  crucial  importance  in Bottom Up Coding
software  engineering  during  which  the  essential Techniques For
requirements like reliability, cost, and performance are Programming
dealt  with.  This  task  is  cumbersome  as  the  software Discuss The Different
engineering  paradigm  is  shifting  from  monolithic, Levels Of Testing
stand­alone,  built­from­scratch  systems  to
What Is Functional
componentized,  evolvable,  standards­based,  and
Testing? What Are The
product line­oriented systems. Also, a key challenge for
Different Techniques
designers  is  to  know  precisely  how  to  proceed  from
Used In It
requirements  to  architectural  design.  To  avoid  these
problems,  designers  adopt  strategies  such  as What Is A Test Plan?

reusability,  componentization,  platform­based, What Should A Test

standards­based, and so on. Plan Include

Though the architectural design is the responsibility of When Is Cost

developers,  some  other  people  like  user Estimation Done?

representatives,  systems  engineers,  hardware Discuss The COCOMO


engineers, and operations personnel are also involved. Model Along With The

http://ecomputernotes.com/software­engineering/architecturaldesign 2/11
3/18/2017 Architectural Design in Software Engineering

All  these  stakeholders  must  also  be  consulted  while Parameters Defined In
reviewing the architectural design in order to minimize It
the risks and errors. Write And Explain
Architectural Design Representation Software Development

Architectural  design  can  be  represented  using  the Phases

following models. Differentiate Between

  Top Down And Bottom


UP Approaches
1. Structural  model:  Illustrates  architecture  as  an
Differentiate Between
ordered collection of program components
Process, Project And
2. Dynamic  model:  Specifies  the  behavioral  aspect Products
of  the  software  architecture  and  indicates  how  the Types Of Software
structure  or  system  configuration  changes  as  the Maintenance
function  changes  due  to  change  in  the  external Rapid Application
environment Development (RAD)

3. Process  model:  Focuses  on  the  design  of  the Model And Its

business  or  technical  process,  which  must  be Advantages And


implemented in the system Disadvantages Of RAD
Model
4. Functional  model:  Represents  the  functional
Requirements Analysis
hierarchy of a system
In Software
5. Framework  model:  Attempts  to  identify
Engineering
repeatable  architectural  design  patterns  encountered
What Is Exhaustive
in  similar  types  of  application.  This  leads  to  an
Testing
increase in the level of abstraction.
What Is Build And Fix
Architectural Design Output Model Or Ad Hoc

The  architectural  design  process  results  in  an Model? And Explaini Its
Architectural  Design  Document  (ADD).  This Advantages And
document  consists  of  a  number  of  graphical Disadvantages
representations  thatcomprises  software  models  along What Is Risk
with  associated  descriptive  text.  The  softwaremodels Management? Give
include  static  model,  interface  model,  relationship Brief Ideas For Risk
model, and dynamic processmodel. They show how the
Assessment And
system is organized into a process at run­time.
Control
Architectural  design  document  gives  the  developers  a
What Are Test Case
solution  to  the  problem  stated  in  the  Software
Specifications
Requirements  Specification  (SRS).  Note  that  it
considers only those requirements in detail that affect
http://ecomputernotes.com/software­engineering/architecturaldesign 3/11
3/18/2017 Architectural Design in Software Engineering

the  program  structure.  In  addition  to  ADD,  other Explain Software
outputs of the architectural design are listed below. Components
Applications
1. Various  reports  including  audit  report,  progress
report, and configuration status accounts report Explain Various DESIGN
TECHNIQUES
2. Various  plans  for  detailed  design  phase,  which
Incremental Model Or
include the following
Iterative Enhancement
3. Software verification and validation plan Model In Software

4. Software configuration management plan
Engineering
What Are The
5. Software quality assurance plan
Different Methods
6. Software project management plan. Used For Monitoring A
Project
Architectural Styles
Discuss The Objectives

Architectural  styles  define  a  group  of  interlinked Of The Design Phase

systems that share structural and semantic properties. Discuss Briefly The


In short, the objective of using architectural styles is to Validation Of SRS
establish a structure for all the components present in What Do You Mean By
a  system.  If  an  existing  architecture  is  to  be  re­ Structured Analysis.
engineered,  then  imposition  of  an  architectural  style What Is Quality
results in fundamental changes in the structure of the
Assurance Plans?
system. This change also includes re­assignment of the
Discuss The Different
functionality performed by the components.
Approaches Used
By applying certain constraints on the design space, we What Is Formal
can  make  different  style­specific  analysis  from  an
Methods Model?
architectural  style.  In  addition,  if  conventional
Advantages And
structures are used for an architectural style, the other
Disadvantages Of
stakeholders can easily understand the organization of
Formal Methods Model
the system.
What Do You Mean By
A  computer­based  system  (software  is  part  of  this
Staffing
system)  exhibits  one  of  the  many  available
What Is Software
architectural styles. Every architectural style describes
a system category that includes the following. Requirements
Specification? Explain
1. Computational  components  such  as  clients,  server,
Structure And
filter,  and  database  to  execute  the  desired  system
Characteristics Of SRS.
function
What Are The
Matrices,

http://ecomputernotes.com/software­engineering/architecturaldesign 4/11
3/18/2017 Architectural Design in Software Engineering

2. A  set  of  connectors  such  as  procedure  call,  events Measurements And

broadcast,  database  protocols,  and  pipes  to  provide Models Of Project

communication  among  the  computational Management Process

components Discuss Briefly Test


Cases And Test
3. Constraints  to  define  integration  of  components  to
Criteria
form a system
Explain Classical Life
4. A  semantic  model,  which  enable  the  software Cycle Model Or Linear
designer  to  identify  the  characteristics  of  the  system
Sequential Model
as  a  whole  by  studying  the  characteristics  of  its
Principles Of Software
components.
Design & Concepts In
Some  of  the  commonly  used  architectural  styles  are Software Engineering
data­flow  architecture,  object  oriented  architecture, Explain Object
layered  system  architecture,  data­centered Oriented Analysis And
architecture,  and  call  and  return  architecture.  Note Dsign Tools
that  the  use  of  an  appropriate  architectural  style
What Is Black Box
promotes  design  reuse,  leads  to  code  reuse,  and
Testing
supports interoperability.
Classification Of
Data­flow Architecture
Software Metrics In
Data­flow  architecture  is  mainly  used  in  the  systems Software Engineering
that  accept  some  inputs  and  transform  it  into  the Architectural Design In
desired  outputs  by  applying  a  series  of
Software Engineering
transformations.  Each  component,  known  as  filter,
Write Different
transforms the data and sends this transformed data to
Software Quality
other filters for further processing using the connector,
Factors
known  as  pipe.  Each  filter  works  as  an  independent
Time Boxing Model In
entity, that is, it is not concerned with the filter which
is  producing  or  consuming  the  data.  A  pipe  is  a Software Engineering

unidirectional  channel  which  transports  the  data What Are The

received  on  one  end  to  the  other  end.  It  does  not Different Verification
change the data in anyway; it merely supplies the data Methods Used For
to the filter on the receiver end. Detailed Design
What Do You Mean By
Process Improvement
And Maturity. Explain
The CMM Model
Software Crisis In
Software Engineering

http://ecomputernotes.com/software­engineering/architecturaldesign 5/11
3/18/2017 Architectural Design in Software Engineering

                                                    Explain Various Phases


Of Process
Management
What Are Requirement
Reviews
Software Testing
Techniques
Write A Note On
Software Design
Phases
What Is V‐Model ?
Most  of  the  times,  the  data­flow  architecture Advantages And
degenerates a batch sequential system. In this system, Disadvantages Of V
a batch of data is accepted as input and then a series of Model.
sequential  filters  are  applied  to  transform  this  data. What Are Function
One  common  example  of  this  architecture  is  UNIX
Points? How Are They
shell programs. In these programs, UNIX processes act
Computed? Explain
as  filters  and  the  file  system  through  which  UNIX
What Is Mutation
processes  interact,  act  as  pipes.  Other  well­known
Testing
examples  of  this  architecture  are  compilers,  signal
What Is Software?
processing  systems,  parallel  programming,  functional
programming,  and  distributed  systems.  Some Characteristics And

advantages  associated  with  the  data­flow  architecture Classification Of

are listed below. Software.
Debugging In Software
1. It supports reusability.
Testing
2. It is maintainable and modifiable.
What Are Various

3. It supports concurrent execution. Types Of Errors That


Occur In SRS
4. Some  disadvantages  associated  with  the  data­flow
Software Engineering
architecture are listed below.
Phases
5. It often degenerates to batch sequential system.
Definition Of Software

6. It does not provide enough support for applications Engineering And

requires user interaction. Software Engineering


Layers
7. It is difficult to synchronize two different but related
Explain Various
streams.
Programming Practices
Object­oriented Architecture Used In Coding. What

http://ecomputernotes.com/software­engineering/architecturaldesign 6/11
3/18/2017 Architectural Design in Software Engineering

In object­oriented architectural style, components of a Is Meant By
system  encapsulate  data  and  operations,  which  are Information Hiding
applied  to  manipulate  the  data.  In  this  style, What Is The
components  are  represented  as  objects  and  they Psychology Of Testing
interact  with  each  other  through  methods Write Major Problems
(connectors).  This  architectural  style  has  two
In System (Software)
important characteristics, which are listed below.
Development
1. Objects maintain the integrity of the system. Write A Short Note On

2. An object is not aware of the representation of other
Project Control

objects. Termination Analysis


Write Down Various
3. Some of the advantages associated with the object­
Software Problems
oriented architecture are listed below.
What Is Design
4. It  allows  designers  to  decompose  a  problem  into  a Review? How
collection of independent objects. Automated Cross‐

5. The implementation detail of objects is hidden from Checking Determines

each  other  and  hence,  they  can  be  changed  without Review Of System

affecting other objects. What Is Software


Requirement? Types
Layered Architecture
Of Requirements.
In  layered  architecture,  several  layers  (components)
What Is Static Analysis?
are  defined  with  each  layer  performing  a  well­defined
How Is It Performed?
set  of  operations.  These  layers  are  arranged  in  a
What Are Its Uses
hierarchical  manner,  each  one  built  upon  the  one
Component‐Level
below  it.  Each  layer  provides  a  set  of  services  to  the
layer above it and acts as a client to the layer below it. Design In Software

The  interaction  between  layers  is  provided  through Engineering

protocols  (connectors)  that  define  a  set  of  rules  to  be What Are The
followed  during  interaction.  One  common  example  of Different Techniques
this  architectural  style  is  OSI­ISO  (Open  Systems Used For Proving The
Interconnection­International  Organization  for Correctness Of A
Standardization) communication system. Program
Levels Of Software
Testing
Software Testing
Strategies ‐ Types Of
Software Testing
Strategies

http://ecomputernotes.com/software­engineering/architecturaldesign 7/11
3/18/2017 Architectural Design in Software Engineering

                                            Coding Documentation
In Software
Engineering
Software Process
Assessment
What Do You Mean By
Knot Count
Write Management
Approaches In
Software Engineering
What Are The
Different Methods
Used To Specify The
Data­centered Architecture
Modules In Detailed
A  data­centered  architecture  has  two  distinct Design
components: a central data structure or data store Criteria For Selecting
(central  repository)  and  a  collection  of  client
Software Process
software. The datastore (for example, a database or a
Models
file)  represents  the  current  state  of  the  data  andthe
Software Metrics In
client  software  performs  several  operations  like  add,
Software Engineering
delete, update, etc., onthe data stored in the data store.
What Are Test Oracles
In some cases, the data storeallows the client software
to  access  the  data  independent  of  any  changes  or What Are The

theactions of other client software. Different Approaches


Used For The
In  this  architectural  style,  new  components
corresponding  to  clients  can  be  added  and  existing Verification Of A

components can be modified easily without taking into Design Document

account  other  clients.  This  is  because  client Programming Practices


components operate independently of one another. With Top‐Down,

A  variation  of  this  architectural  style  is  blackboard Bottom‐Up, Structured

system  in  which  the  data  store  is  transformed  into  a Programming, And
blackboard  that  notifies  the  client  software  when  the Information Hiding
data  (of  their  interest)  changes.  In  addition,  the Software Testing –
information  can  be  transferred  among  the  clients What Is Software
through the blackboard component. Testing?
Some advantages of the data­centered architecture are Characteristics Of
listed below. Software Test.

1. Clients operate independently of one another.

http://ecomputernotes.com/software­engineering/architecturaldesign 8/11
3/18/2017 Architectural Design in Software Engineering

2. Data repository is independent of the clients. Software Maintenance


Life Cycle
3. It adds scalability (that is, new clients can be added
Write Role Of
easily).
Management
4. It supports modifiability. Code Verification

5. It  achieves  data  integration  in  component­based Techniques In

development using blackboard. Software Engineering


Requirements
                                                         
Validation In Software
Engineering
Emergence Of
Software Engineering
Software Maintenance
Models
Apart From
Requirement Reviews
What Are The Other
Methods Used For The
Validation Of SRS
Software Maintenance
In Software
Engineering
Object‐Oriented
Call and Return Architecture
Testing
A  call  and  return  architecture  enables  software Software Process And
designers to achieve a program structure, which can be
Life Cycle
easily modified. This style consists of the following two
Project Planning In
substyles.
Software Engineering
1. Main  program/subprogram  architecture:  In Software Design
this, function is decomposed into a control hierarchy Reviews In Software
where  the  main  program  invokes  a  number  of Engineering
program components, which in turn may invoke other
Coding Guidelines In
components.
Software Engineering
Software Design
Documentation (SDD)
Software Engineering
Challenges

http://ecomputernotes.com/software­engineering/architecturaldesign 9/11
3/18/2017 Architectural Design in Software Engineering

                                                          Requirements
Management Process
In Software
Engineering
Data Design In
Software Engineering
Quantitative Process
Management (QPM)
Measuring Software

1. Remote  procedure  call  architecture:  In  this, Quality In Software

components  of  the  main  or  subprogram  architecture Engineering

are  distributed  over  a  network  across  multiple Coding Methodology In


computers. Software Engineering
Test Plan | Software
Testing
Techniques For
Maintenance
Tools For Software
Maintenance
Software
Requirements
Engineering Tools
Analysis Patterns In
Software Engineering
Object Oriented
Metrics In Software
Engineering
Test Case Design |
Software Testing
Software Testing Tools
Requirements
Elicitation Or
Requirements Capture
Or Requirements
Acquisition
Features Of Software
Code In Software

http://ecomputernotes.com/software­engineering/architecturaldesign 10/11
3/18/2017 Architectural Design in Software Engineering

Engineering
Designing Software
Metrics In Software
Engineering
Organization Process
Definition (OPD)
Software Measurement
In Software
Engineering
Issues In Software
Metrics
Technology Change
Management (TCM)
Responsibilities Of
Software Project
Manager
Process Change
Management (PCM)
What Is Bottom‐Up
Design?
Coding Tools In
Software Engineering
Organization Process
Focus (OPF)

Connect Us On FaceBook and Google+

Dinesh Thakur is a Technology Columinist and founder of Computer Notes and Technology Motivation. Mail Me At (@Computer

Notes)

http://ecomputernotes.com/software­engineering/architecturaldesign 11/11

You might also like