You are on page 1of 6

Lecture 2 - Software Architecture

What is System Architecture?

• “The software architecture of a program or computing system is

the structure or structures of the system, which comprise

software components

the externally visible properties of

those components,

• and the relationships among them."

‫ ممكن تبقي ايه‬Architecture ‫ اللي هي مكونات الـ‬components ‫ال‬

Task, process, module, object, program, function, library,

processor, server, subsystem …

‫ مكن تبقي ايه‬components ‫ اللي بين الـ‬relationships ‫الـ‬

Calls, invokes, signals, uses, data flow, subclass, runs with,

excludes, co-located with,

Overall structure meaning (boxes and lines) It is difficult to

comprehend and discuss all system structures at once

‫ من الصعب جدا انت تفهمه او تناقشه مرو واحدة‬structure ‫الـ‬


.architectural structures ‫ أصناف من الـ‬3 ‫عندك‬

Module • Component and Connector • Allocation

: Module ‫الـ‬

functional( ‫ و هو لسه كود‬Static view ‫ و هو ف الـ‬system ‫بييروك الـ‬

)?code units

: Component-and-Connector Structures ◼ ‫الـ‬

runtime ‫ في الـ‬system ‫بيوريك الـ‬

Allocation Structures

The allocation of the software artifacts and in non-software

environmental structures.

people ‫ زي الـ‬on-software environment ‫ بتاعك بال‬software ‫عالقة الـ‬

: Module Structures ‫الـ‬

‫ ل‬SYSTEM ‫ بتتقسم الـ‬structures partition ‫بعض الـ‬

modules ‫ بنسميها‬implementation units


specific computational responsibilities ‫ الـ‬module ‫و بندي لكل‬

‫ دول عبارة عن عالقات‬Decomposition Classes Layered Uses ‫الـ‬

‫ ممكن تبقي فيه عالقة بين الـ‬module structure ‫يعني في الـ‬

‫ كبير‬component ‫ زي أن يبقى فيه‬Decomposition ‫ تكون‬component

‫ صغيرين‬component ‫مكون من‬

: Decomposition ‫الـ‬

modules are related by "is a submodule of" relation ‫بيسال‬

uses ‫الـ‬

.The modules are related by the "uses" relation ‫بيسال‬

Layered ‫الـ‬

implementation specifics ‫ و بتخفي الـ‬abstractions ‫بتخفي بتكون‬

below from the layers above

:Class or generalization ‫الـ‬

re-use ‫بيخلينا نفكر فى‬


class diagram ‫مثال عليه‬

=============================================

Component & Connector (C&C)Structures ‫الـ‬

C&C structures focus on the way the elements interact

with each other at runtime to carry out the system's

functions.

‫ مع اخوه الـ‬elemen ‫وخلينا نركز على الطريقة اللي بيتعامل بيها الـ‬

.the system's functions ‫ عشان ينفذوا الـ‬element

‫ في وقت‬execution ‫ هي اللي تورينا الـ‬dynamic views ‫و الـ‬

Run time ‫الـ‬

‫و بتخلينا نجاوب على اسئلة زي‬

What are the major shared data stores?

• Which parts of the system are replicated?

• How does data progress through the system?

• What parts of the system can run in parallel?


‫ما هي مخازن البيانات المشتركة الرئيسية؟‬

‫• أي أجزاء من النظام يتم تكراره؟‬

‫• كيف تتقدم البيانات من خالل النظام؟‬

‫• ما هي أجزاء النظام التي يمكن أن تعمل بالتوازي؟‬

‫و الـ ‪ dynamic views‬عشان بنعرف نسال اسالة حولين الـ‬

‫‪runtime properties‬‬

‫زي ‪performance, security, availability‬‬

‫الـ ‪Process or communicating processes‬‬

‫هي ‪ unite‬عبارة عن الـ ‪ processes or threads‬اللي مرتبطة‬

‫ببعض باستخدام الـ‬

‫‪communication, synchronization, and/or exclusion‬‬

‫‪operations‬‬
‫الـ ‪: Concurrency‬‬
to identify the requirements for managing the ‫بستخدمها عشان‬

issues associated with concurrent execution

:Shared data or repository ‫الـ‬

‫ اللي بتعمل‬components and connectors ‫ ده بيشمل الـ‬structure ‫الـ‬

create, store, and access persistent data

: Client-server ◼ ‫الـ‬

============

: Allocation Structures ‫الـ‬

the system’s ‫ لـ‬software structures ‫ من الـ‬mapping ‫بيوصف الـ‬

environments

You might also like