0% found this document useful (0 votes)
58 views

Software Architecture

1. Software architecture defines the overall structure and design of a system, focusing on non-functional requirements. Software design focuses on functional requirements at the code level, defining what each component does. 2. Key characteristics of software architecture include performance, reliability, scalability, and security. Common architectural patterns include microservices, event-driven, and serverless architectures. 3. Software design defines elements like components, interfaces, and relationships between elements. Design principles like high cohesion and low coupling aim to improve code quality, maintainability, and performance.

Uploaded by

khurram sultan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
58 views

Software Architecture

1. Software architecture defines the overall structure and design of a system, focusing on non-functional requirements. Software design focuses on functional requirements at the code level, defining what each component does. 2. Key characteristics of software architecture include performance, reliability, scalability, and security. Common architectural patterns include microservices, event-driven, and serverless architectures. 3. Software design defines elements like components, interfaces, and relationships between elements. Design principles like high cohesion and low coupling aim to improve code quality, maintainability, and performance.

Uploaded by

khurram sultan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Software Architecture and Software Design

Manishaben Jaiswal
Researcher and IT Consultant, MD, USA,
Pursuing Ph.D. University of Cumberland, KY, USA,
IT Consultant, MD, USA
[email protected]

---------------------------------------------------------------------***---------------------------------------------------------------------
Abstract - Software architecture defined as strategic
Architecture is a blueprint for a system. It provides
design of an activity concerned with global requirements
and its solution is implemented such as programming
an associate abstraction to manage the system

paradigms, architectural styles, component-based software complexness and establish a communication and
engineering standards, architectural patterns, security, coordination mechanism among elements. It defines
scale, integration, and law-governed regularities. a structured resolution to fulfill all the technical and
Functional design, also described as tactical design, is an operational necessities, whereas optimizing the
activity concerned with local requirements common quality attributes like performance and
governing what a solution does such as algorithms, design
security. Further, it involves a collection of serious
patterns, programming idioms, refactoring, and low-level
selections regarding the organization associated with
implementation. In this paper I would like to introduce some
software system development and each of those
concepts of software architecture, and software design as
selections will have a substantial impact on quality,
well as relationship between them.
maintainability, performance, and the overall success
Key Words: Architecture, Design, Components, of the ultimate product.
Element, Principle, Serverless

1.INTRODUCTION 1.1Characteristic of the Software Architecture:

Architecture is driven by non-functional Characteristics describe the expectations of code in

requirements, while functional design is driven by operational and technical levels. The performance

functional requirements. Pseudo-code belongs in the and low fault tolerance, quantifiability, and

detailed design document. UML component, responsibility of area unit are the key of

deployment, and package diagrams generally appear characteristics. It is also referred as quality attribute

in software architecture documents; UML class, or patterns. Microservices is one in all several different

object, and behavior diagrams appear in detailed code design patterns Event-Driven Pattern, Serverless

functional design documents.so, ultimately both are Pattern and lots of additional. The Microservices pattern

dependent on each other. Some important stage of received its name when being adopted by Amazon and

the software architecture is as follows. Firstly, what Netflix and showing its nice impact.

is software architecture and the characteristics of it.


1.2. Serverless Architecture
Secondly, what is software design and its principle,
and finally relationship between software Serverless Architecture is alienated into two main
architecture and software design. groups. The first is “Backend as a service” which is
known as ‘Baas’. Other is “Functions as a Service
1.Software Architecture (FaaS).” Which is known as FaaS. The serverless

Electronic copy available at: https://ssrn.com/abstract=3948301


architecture will help you save a lot of time taking 1.4 Microservices Architecture
care and fixing bugs of deployment and servers Microservices architecture is a famous architecture
now a days It depends on developing tiny, freelance
regular tasks.
standard services wherever every service solves a
downside or performs a singular task and these
modules communicate with one another through
well-defined API to serve the business goal.

Fig -1: Name of the figure


1.3 Event-Driven Architecture 2. Software Design

Software architecture is in authority for the skeleton


This architecture is reckoning on Event Producers
and the high-level infrastructure of a software, the
and Event customers. The most plan is to decouple
software design is responsible for the code level
your system’s components and every half are going
design such as, what each module is doing, the classes
to be triggered once a remarkable event from
scope, and the functions purposes, etc. Every
another half possesses triggered. As an example, an
structure contains code parts, relations among them,
internet store system has two components. First a
and properties of each part and relations. The design
sale module and second a merchant module. If a client
of a system depicts the system organization or
makes a sale, the acquisition module would generate
structure and provides an evidence of how it
an occasion of “order Pending” Since the seller
behaves. A series of design selections are impact of
module is attention-grabbing within the “order
quality, performance, maintainability, and overall
Pending” event, it'll be listening, just in case one is
success of the system. A system represents the
triggered. Once the seller module gets this event, it'll
gathering of elements which accomplish a set of
execute some tasks or even fireplace another event to
functions.
order a lot of the merchandise from a merchant.
A computer code design is an associate abstraction of
the run-time components of a package throughout
some part of its operation. Elements like components
and data constrained in their relationships to realize
the desired set of properties.

Elements: An element is the associate abstract unit


of computer code directions and internal state that
gives a transformation of information via its
interface. For example, transformations embrace

Electronic copy available at: https://ssrn.com/abstract=3948301


loading into memory from auxiliary storage, playing complexity while not breaking the appliance
some calculation, translating to a special format, logic.
encapsulation with alternative knowledge, etc.
2.4 Interface segregation principle: We can
Components: Components are the foremost simply implement multiple interfaces, then structure
recognized side of computer code design which your code in an exceedingly manner that a
embrace process, data, and connecting components category can ne'er be forced to implement a
perform that's not necessary to its purpose. So,
Data-A data point is a of data that is transferred from
we can categorize interfaces.
a component, or received by an element, via an
instrumentality. Examples embrace byte-sequences, 2.5 Dependency inversion principle:
messages, marshaled parameters, and serialized
objects, however, don't embrace info that's for good If you ever followed TDD for your application
resident or hidden among an element. development, then you recognize however
decoupling your code is vital for testability and
It is working on several principal which are as
modularity. In alternative words, If a definite
follows.
category “ex: Purchase” depends on the “Users”
category then the User object internal
2.1 Single responsibility principle: It indicates that representation ought to return from outside the
each class must have one single purpose, a “Purchase” category.
concern and a reason to change.
3. Relationship between software
2.2 Open closed principle: It is open for extension
architecture and software design
but closed for adjustment. It indicates that,
designer will be able to add more functionality to Software design exposes the structure of a
the class but do not edit current functions in a system whereas activity the implementation
way that breaks existing code that uses it. details. The design additionally focuses on
however the weather and parts at intervals a
2.3 Liskov substitution principle:
system moves with each other. package style

This principle guides the developer to use delves deeper into the implementation details of

inheritance in an exceeding method which will the system. style issues exemplify the choice of

not break the appliance logic at any purpose. knowledge structures and algorithms or the

Thus, if a toddler category referred to as implementation details of individual parts.

“XyClass” inherits from a parent category “class”, Architecture and style issues typically overlap.

the child category shall not replicate the Instead of using laborious and quick rules to tell

practicality of the parent category in an apart between design and style, it is sensible to

exceedingly method that changes the behavior mix them. In some cases, selections square

parent category. thus, you'll be able to simply use measure clearly a lot of study in nature. In

the article of Class rather than the article of alternative cases, selections focus heavily on

Electronic copy available at: https://ssrn.com/abstract=3948301


style and the way it helps to comprehend that
design.

4. CONCLUSIONS
According to my research on and the points as we
discussed above, conclusion is there is no any specific
rules and regulation applied on software design. An
important detail to notice is that design is style,
however not all style studies. In observe, the
designer is that the one United Nations agency
attracts the road tween package design (architectural
style) and elaborated design (non-architectural
design). There aren’t any rules or tips that work all
cases, although, there are tries to formalize the
excellence.

ACKNOWLEDGEMENT (Optional)

The authors can acknowledge any person/authorities in


this section. This is not mandatory.

REFERENCES

[1] (Evelyn J. Barry et. al. 2003) Evelyn J. Barry, Chris F.


Kemerer, Sanda A. Slaughter, On the Uniformity of
Software Evolution Patterns, IEEE, 2003, pp. 106 – 113
[2] (Kruchten 2000) Philippe Kruchten, “Rational Unified
Process – An Introduction”, Addison-Wesley, 2000.
[3] (Kruchten 1995) Philippe Kruchten, The 4+1 View
Model of Architecture, IEEE, 1995, pp. 42 – 50
[4] https://www.sciencedirect.com/topics/computer-
science/software-architecture.
[5] Software Engineering by M.Jaiswal, and S. J. Patel ,
Thakur publisher, ED 2014, chapter Design Concepts;
and Architectural Design, Component-Level design.
BIOGRAPHIES
Manishaben is an author,
researcher as well as IT
consultant. She published
books, about “software
Engineering”,2014 and
Computer Concepts and
Application- lI,2019.
Published papers in state,
national conferences, and
active in online journals
publication. Pursuing ph. D
in Information Technology
as well as performing a role
of IT consultant in well-
known software company.

Electronic copy available at: https://ssrn.com/abstract=3948301

You might also like