Best Practices in Sustainable Software Architectures



Download 0,75 Mb.
Pdf ko'rish
bet2/5
Sana25.04.2022
Hajmi0,75 Mb.
#581528
1   2   3   4   5
Bog'liq
Best Practices in Sustainable Software Architectures Software Sustainability Institute

collected papers
, David L. Parnas sets out different architectures, the classes of design and the
advantages of modular design. Historically, software and indeed hardware architectures and hierarchical systems have
employed graph theory, modular design, the concept of parameterization, data and control ow techniques all aiming at
a structure that is the optimum from a functional view and optimum from a development view.
In this short speed blog, we aim to highlight that software architecture, your blueprint for development if you will, is as
critical to design as correct version control or ensuring code is well commented. Our end message is one of education
both from a bottom-up (developer-lead) and top-down (supervisor-lead) manner.
Together with other sustainable software concepts, we hope all our code can become sustainable for others and for our
future selves. “Better software, better research”, the Institute’s go-to raison d’être, can now become “better
architecture, better maintainability” and “better modularity, easier development”.
Software Architectures and Abstraction
A key concept within design in any eld, whether that be building design, mechanical engineering, electronics
engineering, software engineering or even management, economic or social systems engineering, is the concept of
design abstraction (
Herbert A. Simon, “The Sciences of the Arti cial
”). But what do we mean by design abstraction?
In essence, it is the wilful ignorance of the nitty gritty details, allowing us to view the bigger picture.
In software development, we might separate a design into layers, perhaps the abstraction of services or functionality,
perhaps the boundaries between sub-services or classes of functionality. Perhaps we abstract based on interfaces to
both the real world or the end user of the software. Let’s call this concept functional abstraction, the classic case being
an application with a GUI front end, where we may logically separate the functions and development of i) the GUI
graphical code, ii) the handling of data processes and sub- or low-level functions and iii) event handling such as user
mouse clicks on a GUI button or a hardware interrupt.
We can also separate a complex system based on the notion of an environment abstraction level. Hardware and the
electrons that ow within transistor logic circuits are naturally the lowest level of an abstraction stack, but we can
easily see that from hardware we can move up an abstraction stack of hardware, rmware, BIOS, low-level functions
and right up to the application layer software and the end-user. One of the best examples of abstraction based on
environment separation is the internet protocol 

Download 0,75 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish