Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 13

7/4/2023

Software Modelling
1
Module
Edited By:
Dr Ahmad
Samhan

1
7/4/2023

A picture is worth 1024 words

WHY
‫النمذجة‬ ‫لماذا‬MODELLING

A picture is worth 1024


‫ كلمة‬1024 words
‫الصورة تساوي‬

 Diagrams communicate certain types of information


more efficiently than text can.

 Pictures help bridge language and vocabulary barriers among


team members.

.‫المخططات تنقل أنواًع ا معينة من المعلومات بكفاءة أكبر مما يمكن للنص القيام به‬
.‫الصور تساعد في تجاوز حواجز اللغة والمفردات بين أعضاء الفريق‬
2
7/4/2023

‫ هل يمكنك قراءة هذه الخريطة؟‬،‫العالم مكان معقد‬


The world is a complex place, can you read this map?

 Does adding details help? ‫هل يساعد إضافة التفاصيل؟‬

3
7/4/2023

‫النمذجة هي عملية تبسيط الواقع‬.


Modelling is the process of simplifying reality

ABSTRACTION
 abstraction means generalization—setting aside specific and
individual features. (focus on what is important).
 Software systems themselves are based on abstractions that represent
machine-processible facts of reality.
 Abstracting therefore means moving away from specifics,
distinguishing the substance from the incidental, recognizing common
characteristics.

.)‫ (التركيز على ما هو مهم‬.‫ تجاهل الميزات الخاصة والفردية‬- ‫التجريد يعني التعميم‬
،‫ لذا‬.‫تعتمد نظم البرمجيات بحد ذاتها على تجاريد تمثل حقائق واقعية قابلة للمعالجة آليًا‬
8
،‫ التمييز بين المضمون والتفاصيل الثانوية‬،‫يعني التجريد االبتعاد عن التفاصيل‬
.‫واالعتراف بالخصائص المشتركة‬

4
7/4/2023

A

MODEL
a “model” has been used in various branches of science for a
simplified description of complex facts from reality.

 Is an abstract representation of a system that enables us to


answer questions about the system.

 Representation - words, pictures, mathematical


formulas, thoughts, or physical representations.

‫تم استخدام "النموذج" في مختلف فروع العلوم لوصف مبسط للحقائق المعقدة من‬
.‫ هو تمثيل مجرد لنظام يمكننا من خالله اإلجابة على األسئلة حول النظام‬.‫الواقع‬
‫ أو تمثيالت فيزيائية‬،‫ أفكار‬،‫ صيغ رياضية‬،‫ صور‬،‫ كلمات‬- ‫التمثيل‬.
9

ONE MODEL OR MANY


MODELS?
 A system is usually described not by one single view but by a
number of views that together produce a unified overall picture.

 Thus, one view might describe the objects involved and their relationship
to one another; another view might describe the behavior of a group of
objects or present the interactions between different objects.

1
‫ ولكن بواسطة عدد‬،‫يتم وصف النظام عادًة ليس بواسطة وجهة نظر واحدة فقط‬ 0

.‫من الوجهات التي تنتج مًعا صورة شاملة موحدة‬

‫ قد توصف إحدى الوجهات األشياء المعنية وعالقاتها ببعضها البعض؛‬،‫وبالتالي‬


‫وقد توصف وجهة نظر أخرى سلوك مجموعة من األشياء أو تقديم التفاعالت‬
.‫بين أشياء مختلفة‬
5
7/4/2023
ONE MODEL OR MANY
 Business
MODELS? ‫نموذج واحد أم عدة نماذج؟‬
analysts might hope to find one technique that pulls
everything together into a holistic depiction of a system’s
requirements. Unfortunately, there is no such all-encompassing diagram.

 In fact, if you could model the entire system in a single diagram,


that diagram would be just as unusable as a long list of requirements
on its own.

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

 Herbert Stachowiak proposed a model theory that is distinguished by


three characteristics:
1.Mapping: a model is always an image (mapping, reflection) of something,
a representation of natural or artificial originals.
2.Reduction: a model does not capture all attributes of the original, rather
only those that seem relevant to the modeler or user of the model.
3. Pragmatism: pragmatism means orientation toward usefulness.
A model is assigned to an original based on the following questions: For whom?
Why? What for? A model is used by the modeler or user instead of the original
within a specific time frame and for a specific purpose.

:‫هيربرت شتاخوفياك اقترح نظرية نمذجة تتميز بثالث خصائص‬


.‫ تمثيل ألصول طبيعية أو اصطناعية‬،‫ انعكاس) لشيء‬،‫ النموذج دائًم ا صورة (تصوير‬:‫التصوير‬
‫ بل فقط تلك التي تبدو ذات صلة بالنمذج أو مستخدم‬،‫ النموذج ال يلتقط جميع الخصائص األصلية‬:‫التقليل‬
.‫النموذج‬
.‫ الواقعية تعني التوجه نحو الفعالية‬:12‫الواقعية‬
‫ لمن؟ لماذا؟ ألي غرض؟ يتم استخدام النموذج من‬:‫يتم تخصيص النموذج ألصل استناًد ا إلى األسئلة التالية‬
.‫قبل المنمذج أو المستخدم بدًال من األصل في إطار زمني محدد ولغرض محدد‬
6
BENEFITS AND PURPOSES OF MODELLING
 helps shed light on and model the needs and wants of users.
‫فوائد وأغراض النمذجة‬
 Visual requirements models can help you identify missing, extraneous, and
inconsistent requirements.
 provides the bridge between analysis and coding
 enhances communications within and across development teams and with
stakeholders.
 enables a much better understanding of a problem and the solution before the
solution is coded—thereby reducing unnecessary efforts and improving the quality
of software.
 helps shed light on the existing business reality and to create a new business
reality.
 The maintenance and operational phases of a solution also benefit as models
providing
change a reliable
rather abstraction
than directly of thethe
changing system that are easier to understand and
system. 1
3
‫يساعد في تسليط الضوء على ونمذجة احتياجات ورغبات المستخدمين‬.
‫يمكن لنماذج المتطلبات البصرية مساعدتك في تحديد المتطلبات المفقودة والزائدة وغير المتسقة‬.
‫يوفر الجسر بين التحليل والترميز‬.
‫يعزز من التواصل داخل الفرق التطويرية وعبرها ومع أصحاب المصلحة‬.
‫ مما يقلل من الجهد غير الضروري ويحسن من جودة البرمجيات‬،‫يمكنه توفير فهم أفضل للمشكلة والحل قبل ترميز الحل‬.
‫يساعد في تسليط الضوء على الواقع التجاري الحالي وخلق واقع تجاري جديد‬.
‫ حيث توفر النماذج تجريًدا موثوًقا للنظام يسهل فهمه وتغييره بدًال من‬،‫تستفيد أيًض ا مراحل الصيانة والتشغيل من الحل‬
‫تغيير النظام مباشرة‬.
IN ANALYSIS OR IN DESIGN?
 Models are useful for elaborating and exploring the requirements, as well as
for designing software solutions. Whether you are using them for analysis or
for design depends on the timing and the intent of the modeling.

 Used for requirements analysis, these diagrams let you model the
problem domain or create conceptual representations of the new system. You
can base the models on the textual requirements to represent them from
different perspectives, or you can derive functional requirements from
high-level models that are based on user input.
‫ سواء‬.‫ وكذلك لتصميم حلول البرمجيات‬،‫تعتبر النماذج مفيدة لتفصيل واستكشاف المتطلبات‬
‫كنت تستخدمها للتحليل أو للتصميم يعتمد على التوقيت والهدف من النمذجة‬.

‫ تتيح لك هذه الرسوم التخطيطية نمذجة مجال المشكلة أو‬،‫عند استخدامها لتحليل المتطلبات‬
‫ يمكنك االعتماد على النماذج لتمثيل المتطلبات النصية‬.‫إنشاء تمثيالت مفهومية للنظام الجديد‬
‫ أو يمكنك استخراج المتطلبات الوظيفية من النماذج ذات المستوى‬،‫من منظورات مختلفة‬
‫العالي التي تعتمد على إدخال المستخدم‬.
7
‫‪7/4/2023‬‬
‫?‪IN ANALYSIS OR IN DESIGN‬‬

‫‪‬‬ ‫‪During design, models represent how you intend to implement the system:‬‬
‫‪the actual database to create, the object classes to instantiate, and the code modules‬‬
‫‪to develop.‬‬

‫‪‬‬ ‫‪Because analysis and design diagrams use the same notations, clearly‬‬
‫‪identify each one you draw as being an analysis model (the concepts) or a‬‬
‫‪design model (what you intend to build).‬‬

‫أثناء التصميم‪ ،‬تمثل النماذج كيف تنوي تنفيذ النظام‪ :‬قاعدة البيانات الفعلية التي ستتم‬
‫إنشاؤها‪ ،‬وفئات الكائنات التي ستتم إنشاؤها‪ ،‬ووحدات الكود التي ستتم تطويرها‪.‬‬
‫نظًر ا ألن النماذج التحليلية والتصميمية تستخدم نفس العالمات‪ ،‬يجب تحديد كل نموذج‬
‫تقوم برسمه على أنه نموذج تحليلي (المفاهيم) أو نموذج تصميم (ما تنوي بناؤه)‪.‬‬
‫‪1‬‬
‫‪5‬‬

‫نظم تحليل األنظمة هو‪ ■ ..‬دراسة نظام العمل الحالي ومشاكله ‪/‬‬
‫فرصه‪ ■ ،‬تحديد احتياجات العمل وتحديد متطلبات التكنولوجيا وتحديد‬
‫‪.‬المعلومات‪ ،‬و ■ تقييم ‪ /‬تصنيف الحلول البديلة‬

‫‪1‬‬
‫‪4‬‬

‫تصميم األنظمة هو المواصفات العامة والتفصيلية لحل حاسوبي وبشري‬


‫يلبي المتطلبات المحددة خالل تحليل األنظمة‪.‬‬
‫‪8‬‬
7/4/2023
NO NEED FOR MODELLING?
 We hear arguments against using requirements models that range from
“Our system is too complex to model”
to “We have a tight project schedule;
OR
“there is no time to model the
requirements.”

 A model is simpler than the system you are


modeling.
‫بين "نظامنا‬
 ‫المتطلبات تتراوح‬ ‫نماذج‬handle
If you cannot ‫استخدام‬the
‫ضد‬complexity
‫نسمع حجًج ا‬of‫للنمذجة؟‬ ‫حاجة‬how
the model, ‫ال‬
will‫"ال‬you
‫يوجد وقت‬ ‫أو‬be،"‫للمشروع‬
able to handle
‫ ضيق‬the complexity
‫زمني‬ ‫لدينا جدول‬of" ‫إلى‬
the "system?
‫معقد جًد ا للنمذجة‬
."‫لنمذجة المتطلبات‬
‫ إذا كنت ال تستطيع التعامل مع تعقيد‬.‫النموذج أبسط من النظام الذي تقوم بنمذجته‬
‫ كيف ستكون قادًرا على التعامل مع تعقيد النظام؟‬،‫النموذج‬
NO NEED FOR MODELLING? 1
7

 Creating most models doesn’t require significantly more time than you
would spend writing the requirements statements and analyzing them
for issues.

 Any extra time spent using requirements analysis models should be more
than made up for by catching requirements errors prior to building
the system.

 Models, or portions of models, can sometimes be reused from one


project to another, or at least serve as a starting point for
requirements elicitation on a subsequent project.
1
‫إن إنشاء معظم النماذج ال يتطلب وقًتا أكثر بشكل كبير مما ستقضيه في كتابة بيانات المتطلبات‬
8

.‫وتحليلها للكشف عن المشكالت‬


‫يجب أن يتم تعويض الوقت اإلضافي الذي يتم إنفاقه في استخدام نماذج تحليل المتطلبات بشكل‬
.‫أكبر عن طريق الكشف عن أخطاء المتطلبات قبل بناء النظام‬
‫ أو على األقل أن‬،‫ أحياًنا من مشروع آلخر‬،‫ أو جزء من النماذج‬،‫يمكن إعادة استخدام النماذج‬
.‫تكون نقطة انطالق الستخراج المتطلبات في مشروع الحق‬
9
7/4/2023

 Models as a sketch
 Models as a blueprint
 Models as executable programs

‫النماذج كرسم تخطيطي النماذج‬


‫كمخطط النماذج‬
‫كبرامج قابلة للتنفيذ‬
1
9

 Models are used as a sketch to communicate certain aspects of a system


in a simple way.

 Here, the model is not a complete mapping of the system.

 Sketches are actually distinguished by their selectivity, as they are


reduced to the essential aspects for solving a problem.

 Sketches often make alternative solutions visible. These are then discussed
in the development team. Thus, models are also used as a basis for
discussion.

‫ت ُستخدم النماذج كرسم تخطيطي للتواصل بشأن جوانب معينة من النظام بطريقة‬ 2
0
.‫بسيطة‬
.‫ النموذج ليس تعبيًرا كاماًل عن النظام‬،‫هنا‬
‫ حيث يتم تقليلها للجوانب األساسية لحل مشكلة‬،‫تتميز الرسوم البيانية بانتقائيتها‬
.‫معينة‬
‫ يتم مناقشة هذه الحلول بعد‬.‫غالًبا ما تجعل الرسوم البيانية الحلول البديلة واضحة‬
.‫ ُتستخدم النماذج أيًض ا كأساس للنقاش‬،‫ وبالتالي‬.‫ذلك في فريق التطوير‬ 10
7/4/2023

 completeness is very important when models are used as a blueprint.

 These models must contain sufficient detail to enable developers


to create ready-to-run systems without having to make design decisions.

 Models used as blueprints often do not specify the whole system,


only certain parts.

 For example, the interface definitions between subsystems are


defined in the model, whereby the developers are free to decide on
the internal implementation details.
21

.‫االكتمالية مهمة جًد ا عند استخدام النماذج كمخطط‬


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

Models as sketches and blueprints can be used for both forward engineering
and backward engineering.

In forward engineering, the model is the basis for creating code,

while in backward engineering, the model is generated from the code to


document the code in a clear and easily understandable way.

‫يمكن استخدام النماذج كرسوم تخطيطية ومخططات على حد سواء للهندسة األمامية والهندسة‬
.‫العكسية‬
2

،‫ يعتبر النموذج أساًسا إلنشاء الكود‬،‫في الهندسة األمامية‬


2

‫ يتم إنشاء النموذج من الكود لتوثيق الكود بطريقة واضحة وسهلة الفهم‬،‫بينما في الهندسة العكسية‬

11
7/4/2023

Finally, models can be used as executable programs. This means that


models can be specified so precisely that code can be generated from
them automatically.

‫ وهذا يعني أنه‬.‫ يمكن استخدام النماذج كبرامج قابلة للتنفيذ‬،‫في النهاية‬
.‫يمكن تحديد النماذج بدقة كبيرة بحيث يمكن إنشاء الكود تلقائًيا منها‬
2
3

Architecture

2
4

12
7/4/2023

 Software analysis is a software engineering task that


bridges the gap between requirements engineering outcomes
and software design

‫تحليل البرمجيات هو مهمة في هندسة البرمجيات تقوم بسده‬


.‫الفجوة بين نتائج هندسة المتطلبات وتصميم البرمجيات‬

2
5

 The word “architecture” is often used in the context of something at a high level that
is separated from the lower-level details, whereas “design” more often seems to imply
structures and decisions at a lower level.

Software architecture Is the structure of a system or a program that consists of


components/elements and the relationships between them

‫ُيستخدم مصطلح "الهندسة المعمارية" في الغالب في سياق شيء على مستوى عاٍل يتم‬
‫ بينما يبدو مصطلح "التصميم" يعني في الغالب‬،‫فصله عن التفاصيل على مستوى أقل‬
‫ هيكل البرمجيات هو البنية األساسية لنظام أو‬.‫الهياكل والقرارات على مستوى أدنى‬
.‫عناصر والعالقات بينها‬/‫برنامج يتكون من مكونات‬
2
6

13

You might also like