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

Chapter 5

ARCHITECTURAL DESIGN

‫التصميم المعماري‬

Software Architecture

High-level breakdown of a system into its parts is known as software architecture .

‫معمارية البرمجيات‬

‫يُعرف االنهيار على مستوى عال لنظام ما إلى أجزائه باسم بنية البرمجيات‬

Architectural Design

Architectural design means how a system should be organized and designing the overall
structure of that system. According to SDLC architectural design is the first stage in the
software design process. It is the link between actual design and requirements
engineering.

‫التصميم المعماري‬

‫ وفقا للتصميم‬.‫التصميم المعماري يعني كيف يجب تنظيم النظام وتصميم الهيكل العام لهذا النظام‬
‫ هذا هو الرابط بين التصميم‬.‫ هي المرحلة األولى في عملية تصميم البرمجيات‬SDLC ‫المعماري‬
.‫الفعلي ومتطلبات الهندسة‬

Fig 5.I The architecture of a packing robot control system


Architectural Model Representations

• Simple, informal block diagrams showing entities and relationships are the most
frequently used method for documenting architectural models.

• But in these models do not show the types of relationships between entities and
properties of entities in the model also not visible.

• Requirements for architectural model semantics depend on how the models are used .
‫تمثيل النماذج المعمارية‬
‫• الرسوم البيانية البسيطة غير الرسمية التي تبين الكيانات والعالقات هي الطريقة األكثر استخدا ًما لتوثيق النماذج‬
.‫المعمارية‬
.‫• ولكن في هذه النماذج ال تظهر أنواع العالقات بين الكيانات وخصائص الكيانات في النموذج أيضا غير مرئية‬
.‫• تعتمد متطلبات دالالت النماذج المعمارية على كيفية استخدام النماذج‬
Use of Architectural Models

• A high-level architectural view of a system is useful for communication with system


stakeholders and project planning. Stakeholders can relate the abstract view of the
system with requirements. They can then discuss the system as a whole without being
confused in detail.

• The aim here is to produce a-complete system model that shows the different
components a system, their interfaces and their connections.
‫استخدام النماذج المعمارية‬
‫ يمكن ألصحاب‬.‫• نظرة معمارية عالية المستوى لنظام مفيد للتواصل مع أصحاب المصلحة في النظام وتخطيط المشروع‬
.‫ يمكنهم بعد ذلك مناقشة النظام ككل دون الخلط في التفاصيل‬.‫المصلحة ربط النظرة المجردة للنظام بالمتطلبات‬
.‫ واجهاتها ووصالتها‬، ‫• الهدف هنا هو إنتاج نموذج نظام متكامل يظهر المكونات المختلفة للنظام‬

Architectural Design Decisions


Architectural design is a creative process so the process differs depending on the type
of system being developed.

However, a number of common decisions span all design processes and these
decisions affect the non-functional characteristics of the system.

1. Is there generic application architecture that can act as a template for the system
that is being designed?
2. How will the system be distributed across a number of cores or processors?
3. What architectural patterns or styles might be used?
4. What will be the fundamental approach used to structure the system?
5. How will the structural components in the system be decomposed into
subcomponents?
6. What strategy will be used to control the operation of the components in the
system?
7. What architectural organization is best for delivering the non-functional
requirements of the system?
8. How will the architectural design be evaluated?
9. How should the architecture of the system be documented?
‫قرارات التصميم المعماري‬
‫التصميم المعماري هو عملية إبداعية ‪ ،‬لذا تختلف العملية حسب نوع النظام الذي يتم تطويره‪.‬‬

‫ومع ذلك ‪ ،‬فإن عد ًدا من القرارات الشائعة تشمل جميع عمليات التصميم وتؤثر هذه القرارات على‬
‫الخصائص غير الوظيفية للنظام‪.‬‬
‫‪ .1‬هل توجد بنية تطبيق عامة يمكن أن تكون بمثابة قالب للنظام الذي يتم تصميمه؟‬
‫‪ .2‬كيف سيتم توزيع النظام عبر عدد من النوى أو المعالجات؟‬
‫‪ .3‬ما هي األنماط أو األنماط المعمارية التي يمكن استخدامها؟‬
‫‪ .4‬ماذا سيكون النهج األساسي المستخدم في هيكلة النظام؟‬
‫‪ .5‬كيف سيتم تحليل المكونات الهيكلية في النظام إلى مكونات فرعية؟‬
‫‪ .6‬ما هي االستراتيجية التي سيتم استخدامها للتحكم في تشغيل المكونات في النظام؟‬
‫‪ .7‬ما هي المؤسسة المعمارية األفضل لتوصيل المتطلبات غير الوظيفية للنظام؟‬
‫‪ .8‬كيف سيتم تقييم التصميم المعماري؟‬
‫‪ .9‬كيف ينبغي توثيق بنية النظام؟‬

‫‪Architectural Views‬‬

‫•‬ ‫?‪What views are useful when designing and documenting a system's architecture‬‬

‫•‬ ‫?‪What notations should be used for describing architectural models‬‬

‫•‬ ‫‪Each architectural model only shows one view or perspective of the system.‬‬

‫•‬ ‫‪It might show how a system is decomposed into modules, how the run-time processes‬‬
‫‪interact or the different ways in which system components are distributed across a‬‬
‫‪network.‬‬
‫وجهات النظر المعمارية‬
‫• ما هي وجهات النظر المفيدة عند تصميم وتوثيق بنية النظام؟‬
‫• ما هي الرموز التي ينبغي استخدامها لوصف النماذج المعمارية؟‬
‫• كل نموذج معماري يظهر فقط وجهة نظر أو منظور واحد للنظام‪.‬‬
‫• قد يظهر كيف يتحلل النظام إلى وحدات ‪ ،‬وكيف تتفاعل عمليات وقت التشغيل أو الطرق المختلفة التي يتم بها‬
‫توزيع مكونات النظام عبر الشبكة‪.‬‬
‫‪4+1 View Model of Software Architecture‬‬
‫‪Logical view: that shows the key abstractions in the system as objects or object‬‬
‫‪classes.‬‬
‫‪Process view: that shows how, at run-time, the system is composed of interacting‬‬
‫‪processes.‬‬
‫‪Development view: that shows how the software is decomposed for development.‬‬
‫‪Physical view: that shows the system hardware and how software components are‬‬
‫‪distributed across the processors in the system. Related using use cases or scenarios‬‬
‫)‪(+1‬‬
‫‪View Model of Software Architecture 1 + 4‬‬
‫طريقة العرض المنطقي‪ :‬التي تعرض تجريدات المفاتيح في النظام ككائنات أو فئات الكائنات‪.‬‬
‫عرض العملية‪ :‬يوضح كيف يتكون النظام في وقت التشغيل من العمليات التفاعلية‪.‬‬
‫عرض التطوير‪ :‬يوضح كيفية تحليل البرنامج للتطوير‪.‬‬
‫طريقة العرض الفعلية‪ :‬تعرض أجهزة النظام وكيفية توزيع مكونات البرامج عبر المعالجات في‬
‫النظام‪ .‬ذات صلة باستخدام حاالت االستخدام أو السيناريوهات (‪)1+‬‬
Architectural Patterns

• Patterns are a means of representing, sharing and reusing knowledge.

• An architectural pattern is a stylized description of good design practice, which has


been tried and tested in different environments.

• Patterns should include information about when they are and when they are not useful.

• Patterns may be represented using tabular and graphical descriptions.


‫األنماط المعمارية‬
.‫• األنماط هي وسيلة لتمثيل والمشاركة وإعادة استخدام المعرفة‬
‫ والتي تم تجربتها واختبارها في‬، ‫• النمط المعماري هو وصف مبسط لممارسة التصميم الجيد‬
.‫بيئات مختلفة‬
.‫• ﯾنبغي أن تتضمن األنماط معلومات حول موقعها ومتﯽ ال تﮐون مفﯾدة‬
.‫• قد يتم تمثيل األنماط باستخدام أوصاف جدولة ورسوم بيانية‬

Application Architectures
Application systems are designed to meet an organizational need As businesses have
much in common, their application systems also tend to have a common architecture
that reflects the application requirements.

generic application architecture is an architecture for a type of software system that


may be configured and adapted to create a system that meets specific requirements.
‫معماريات التطبيق‬
‫ بما أن الشركات لديها الكثير من‬.‫تم تصميم أنظمة التطبيقات بحيث تلبي الحاجة التنظيمية‬
‫ضا إلى وجود بنية مشتركة تعكس متطلبات‬ ً ‫ فإن أنظمة تطبيقها تميل أي‬، ‫القواسم المشتركة‬
.‫التطبيق‬
‫بنية التطبيقات العامة هي بنية لنوع من أنظمة البرامج التي يمكن تهيئتها وتكييفها إلنشاء نظام‬
.‫يفي بمتطلبات محددة‬

Use of Application Architectures

• As a starting point for architectural design.

• As a design checklist.

• As a way of organizing the work of the development team.

• As a means of assessing components for reuse.

• As a vocabulary for talking about application types.


‫استخدام معماريات التطبيق‬
.‫• كنقطة انطالق للتصميم المعماري‬
.‫• كقائمة مراجعة التصميم‬
.‫• كطريقة لتنظيم عمل فريق التطوير‬
.‫• كوسيلة لتقييم مكونات إلعادة االستخدام‬
.‫• كمفردات للحديث عن أنواع التطبيقات‬
Transaction Processing Systems (TPS)

TPS is a type of information system that collects , stores, modifies and retrieves the data
transactions of an organization. For Example: airline reservation systems, electronic
transfer of funds, bank account processing systems.
)TPS( ‫أنظمة معالجة المعامالت‬
‫ هو نوع من نظام المعلومات الذي يقوم بتجميع ومعالجة وتعديل واسترداد معامالت البيانات‬TPS
‫ التحويل اإللكتروني لألموال‬، ‫ أنظمة حجز تذاكر الطيران‬:‫ على سبيل المثال‬.‫الخاصة بالمؤسسة‬
.‫ أنظمة معالجة الحسابات المصرفية‬،

From a user perspective a transaction is:


• Any coherent sequence of operations that satisfies a goal.
• For example - find the times of flights from London to Paris.

Users make asynchronous requests for service which are then processed by a
transaction manager
:‫ تكون المعاملة‬، ‫من منظور المستخدم‬
ً
.‫هدفا‬ ‫• أي تسلسل متماسك من العمليات التي تلبي‬
.‫ العثور على أوقات الرحالت الجوية من لندن إلى باريس‬- ‫• على سبيل المثال‬

‫يقدم المستخدمون طلبات غير متزامنة للخدمة والتي تتم معالجتها بعد ذلك بواسطة مدير‬
‫المعامالت‬

Application architecture of TPS


Application architecture of TPS ransaction processing systems are usually interactive systems in which users make asynchronous
requests for service. (Asynchronous means that you do not halt all other operations while waiting for the web service call to return.)
Fig 5.2 illustrates the conceptual architectural structure of TPS. Firstl a user makes a request to the system through an 10 processing
component The request is processed by some application specific logic. A transaction is created and passed to a transaction
manager, which is usually embedded in the database management system. After the transaction manager has ensured that the
transaction is properly completed, it signals to the application that processing has finished.

Fig 5.2: Architecture of TPS


‫ بنية التطبيق من‬TPS
‫ عادة ما تكون بنية التطبيقات ألنظمة معالجة‬TPS ransaction ‫أنظمة تفاعلية يقوم فيها المستخدمون بتقديم طلبات غير متزامنة‬
‫ البنية‬5.2 ‫) يوضح الشكل‬.‫ (غير متزامن يعني أنك ال توقف جميع العمليات األخرى أثناء انتظار استدعاء خدمة الويب‬.‫للخدمة‬
‫ المعمارية المفاهيمية لـ‬TPS. Firstl ‫ طلبات‬10 ‫يقوم أحد المستخدمين بتقديم طلب إلى النظام من خالل مكون معالجة مكون من‬
‫ والذي عادة ما يكون‬، ‫ يتم إنشاء معاملة وتمريرها إلى مدير المعامالت‬.‫تتم معالجة الطلب بواسطة بعض منطق التطبيق المحدد‬
‫ فإنه يشير إلى التطبيق‬، ‫ بعد أن يضمن مدير الصفقة أن المعاملة قد اكتملت بشكل صحيح‬.‫مضم ًنا في نظام إدارة قواعد البيانات‬
‫الذي انتهى من المعالجة‬.
Application architecture of ATM System

An example of a transaction is a customer request to withdraw money from a bank account


using an ATM. This involves getting details of the customer's account, checking the balance
modifying the balance by the amount withdrawn, and sending commands to the ATM to
deliver the cash. Until all of these steps have been completed, the transaction is incomplete
and the customer accounts database is not changed.

‫معمارية تطبيق نظام الصراف اآللي‬

‫مثال على المعاملة هو طلب العميل لسحب األموال من حساب مصرفي باستخدام ماكينة الصراف‬
ّ ‫ والتحقق من الرصيد الذي يع‬، ‫ وهذا ينطوي على الحصول على تفاصيل حساب العميل‬.‫اآللي‬
‫دل الرصيد‬
‫ وإلى أن تكتمل جميع هذه‬.‫ وإرسال األوامر إلى ماكينة الصراف اآللي لتسليم النقود‬، ‫بالمبلغ المسحوب‬
.‫ تكون المعاملة غير كاملة ولن تتغير قاعدة بيانات حسابات العمالء‬، ‫الخطوات‬

37 ‫الرسمة‬

Fig 5.3: architecture of ATM

You might also like