Object-Oriented Analysis and Design Methodology
Download
Report
Transcript Object-Oriented Analysis and Design Methodology
Lecture 4
(System Development Methodologies) منهجيات تطوير نظم المعلومات-
األدوات التي تدعم التحليل والتصميم المعتمد على النماذج) Tools that support Model-driven analysis &design)
)Requirements( المتطلبات( System
01/11/1437
models) نماذج النظام
1
-
منهجيات تطوير نظم المعلومات
System Development Methodologies
مجموعة الطرق واألدوات المستخدمة في تطوير النظام .
Model-driven analysis and design
تقنيات معتمدة على رسم نماذج ( )Modelsتمثل النظام الحالي أو الرؤية المستقبلية
للنظام الجديد:
منهجية التحليل والتصميم الهيكلي)(Structured System Analysis and Design Methodology
ِِِ
منهجية هندسة المعلومات)(Information Engineering Methodology
منهجية التحليل والتصميم الموجه نحو الكائنات)(Object-Oriented Analysis and Design Methodology
منهجية الحزم الجاهزة )( Commercial off- the-shelf software COTS
2
01/11/1437
منهجية التحليل والتصميم الهيكلي
Structured System Analysis and Design Methodology
تم تطوير هذه المنهجية وأصبحت منهجية قياسية ,تعتمد على
نماذج العمليات ( )Process Modelsأي التوصيف
الهيكلي للعمليات باستخدام األدوات الهيكلية مثل مخططات
تدفق البيانات ( ,)DFDومن أهم خصائصها:
• أصبحت منهجية قياسية
• تعتمد على الجمع ما بين عملية تحليل البيانات وتحليل
التدفقات في آن واحد
• تحدد بدقة وبالتفصيل الكامل جميع المهام المطلوبة والتسلسل
الالزم.
3
01/11/1437
منهجية هندسة المعلومات
Information Engineering Methodology
تعتبر هذه المنهجية معتمدة على البيانات من التخطيط
االستراتيجي للمؤسسة ككل ,وبناء نموذج البيانات( Data
)Modelالذي يأخذ بعين االعتبار االحتياجات المستقبلية,
ومن أهم خصائصها:
• تعتمد على التخطيط االستراتيجي للمؤسسة
• بناء نموذج البيانات()Data Model
• تتطلب من محللي النظم دراسة مجال العمل الذي تمارسه
المؤسسة واستكشاف التطورات المحتملة.
4
01/11/1437
التحليل الهيكلي و هندسة المعلومات
• في التحليل الهيكلي يتم رسم نموذج العمليات أوالا
( ,)Process Modelبينما في هندسة المعلومات يتم
رسم نموذج البيانات ( )Data Modelأوالا.
• النموذجين مطلوبين في المنهجيتين ,ألن نظام المعلومات
يتضمن العمليات والبيانات معا ا.
5
01/11/1437
التحليل والتصميم الموجه نحو الكائنات
Object-Oriented Analysis and Design Methodology
• يهتم التحليل الموجه نحو الكائنات بتطوير نموذج كائن
(. )Object model
• الكائن ( )Objectعبارة عن وحدة تحتوي على مجموعة
من البيانات تسمى خصائص أو صفات وعلى مجموعة من
العمليات.
• اصبحت هذه المنهجية هي األكثر شيوعا ا.
6
01/11/1437
التحليل والتصميم الموجه نحو الكائنات
Object-Oriented Analysis and Design Methodology
تستخدم هذه المنهجية :لغة النمذجة الموحدة
())Unified Modeling Language (UML
تزود لغة النمذجة الموحدة بمجموعة أدوات مفيدة لتحليلوتصميم النظم.
تعتمد قيمة نتائج استخدام أدوات UMLفي مشروع ما ,علىخبرة محلل النظم في استعمال هذه األدوات.
يستخدم المحلل هذه األدوات لتحليل متطلبات النظام الى نموذجحاالت ونموذج كائنات (.)Object Model
7
01/11/1437
األدوات التي تدعم التحليل والتصميم المعتمد على النماذج
Tools that support Model-driven analysis &design
نوعين من األدوات التي تدعم التحليل المعتمد على النماذج:
-1البرمجيات الرسومية عامة الغرض :
Microsoft Visio professional
8
01/11/1437
تابع:األدوات التي تدعم التحليل والتصميم المعتمد على النماذج
Tools that support Model-driven analysis
-2أدوات هندسة البرمجيات بمساعدة الحاسب ()CASE Tools
Computer-Aided Software Engineering Tools
هي مجموعة البرامج الحاسوبية المعدة بهدف المساعدة في عملية حوسبة المهام
واألنشطة للوصول الى نظام معلومات جيد.
مثلRational Rose:
أهم وظائفها:
رسم المخططات
•
تكوين مخازن البيانات
•
تصميم الشاشات.
•
تصميم التقارير.
•
توليد البرامح التنفيذية.
•
ادارة عملية التطوير.
•
9
01/11/1437
منهجية الحزم الجاهزة
Commercial off- the-shelf software COTS
• برامج معدة مسبقا ً من قبل خبراء ليس لنظام معين ولكن بشكل عام.
• تطبيق على المؤسسات ذات النظم المتشابهة بعد اجراء التعديل
المناسب لالحتياجات الخاصة بالمؤسسة ,ومن األمثلة على هذه النظم:
نظام مخازن نظام بنوك نظام مدارس• المميزات:
التطور السريع المرونة التي تتيحها إلجراء التغييرات واالحتياجات.• العيوب:
عدم مطابقتها الكاملة لالحتياجات الخاصة للمؤسسة10
01/11/1437
المتطلبات ()Requirements
تحديد المتطلبات :يعني تعريف شكل النظام أو وصف لما يستطيع
النظام أن يقوم به ألداء وظيفته التي سيصمم من أجلها.
• أي االجابة على السؤال:
?What do the users need and want from a new system
11
01/11/1437
أنواع المتطلبات ()Types of requirements
صنفت من عدة وجهات نظر منها تقسيمها الى متطلبات
ُ
وظيفية وغير وظيفية ومنها تقسيمها كالتالي:
• متطلبات مستخدم (:)User Requirements
جمل بلغة طبيعية مع أشكال توضيحية Diagramsللخدمات التي
يوفرها النظام وقيود التشغيل مكتوبة للزبون.
• متطلبات النظام(:)System Requirements
وثيقة هيكلية تبين الوصف التفصيلي لخدمات النظام ,مكتوبة كعقد بين
المقاول والزبون.
• مواصفات البرمجيات (:)Software Requirements
وصف تفصيلي للبرمجيات يعمل كأساس لتصميم وتنفيذ النظام ,مكتوب
لمطوري النظام
12
01/11/1437
المتطلبات الوظيفية وغير الوظيفية
Functional and None-Functional Requirements
-1المتطلبات الوظيفية :Functional Requirements
• تصف وظيفة أو الخدمات التي يوفرها النظام ,وكيف يجب للنظام أن يتعامل مع المدخالت
المعينة وكيفية تصرف النظام في مواقف معينه.
• تعتمد المتطلبات الوظيفية على:
نوع البرمجيات. نوع النظام الذي تستخدم فيه هذه البرمجيات المستخدمين المتوقعين• مثال:
سوف يكون المستخدم قادرا ً على البحث في كل مجموعة قواعد البيانات أو اختيار مجموعة فرعية منها. سوف يوفر النظام العروض المرغوبة للمستخدم حتى يتمكن من قراءة المستندات في مخزون المستندات.• المشاكل:
تظهر المشاكل عندما:
ال يتم تحديد المتطلبات بدقة ووضعها في غموض. قد تفسر المتطلبات الملتبسة بطرق مختلفة لدى المطورين والمستخدمين13
01/11/1437
المتطلبات الوظيفية وغير الوظيفية
Functional and None-Functional Requirements
-2المتطلبات غير الوظيفية :None-Functional Requirements
• تصف خصائص النظام ( )Propertiesوالقيود ( )Constraintsالتي يتم خاللها تطوير
النظام.
• أنواع المتطلبات الغير وظيفية:
متطلبات المنتج :مثل متطلبات الكفاءة ( Efficiencyتضم متطلبات األداء:Performanceكمية المعلومات التي تتم معالجتها + throughputوقت االستجابة
.)response time
المتطلبات التنظيمية :Organizationalتضم متطلبات التسليم Deliveryومتطلباتالتنفيذ Implementationومتطلبات المعايير .Standards
متطلبات خارجية :Externalتضم متطلبات اخالقية ومتطلبات تشريعية (منها متطلباتالخصوصية Privacyومتطلبات السالمة .)Safety
• مثال:
النظام يدعم سرية عالية ,مرن ,سهل االستخدام
14
01/11/1437
متطلبات المستخدم User Requirements
• يجب أن تصف المتطلبات الوظيفية وغير الوظيفية حتى يمكن أن تكون
مفهومة بواسطة مستخدمي النظام الذين ال يملكون معرفة تقنية تفصيلية.
• تعرف متطلبات المستخدم بلغة طبيعية مع جداول ورسوم تخطيطية.
• المشاكل التي تنتج من وصف المتطلبات باللغة الطبيعية:
قصور أو تدني الوضوح. تشويش المتطلبات :المتطلبات الوظيفية وغير الوظيفية تميل الى االختالط -دمج المتطلبات :العديد من المتطلبات المختلفة قد يعبر عنها معا
• الخطوط الرئيسية لكتابة المتطلبات:
استخدام اللغة بطريقة محددة تامة الوضوح متماسكة. استخدام النص في توضيح وبيان وتعريف األجزاء الرئيسية منالمتطلبات.
-تحاشي استخدام تعقيدات الكمبيوتر
15
01/11/1437
متطلبات النظام :System Requirements
• مواصفات اكثر تفصيالا من متطلبات المستخدم ,تخدم اسس
تصميم النظام.
• متطلبات النظام يجب أن تحدد ما يجب أن يفعله النظام
What the system should do
• يصف التصميم كيفية قيام النظام بذلك . How it does this
• يعبر عن متطلبات النظام باستخدام نماذج النظام .System models
16
01/11/1437
نماذج النظام
System models
• النموذج :تعريف موجز للنظام ,وتوفر أنواع النماذج معلومات
مختلفة عن النظام.
• أنواع النماذج :Model types
-
نماذج العمليات /الوظائف Process models:تبين العمليات الكلية والمدعومة من النظام
نماذج السياق Context models نماذج السلوك أو التصرف Behavioral models نماذج البيانات الداللية Semantic data models -نماذج الكائنات Object models
17
01/11/1437
نماذج السياق :Context models
• تستخدم لتوضيح وتمثيل حدود النظام وتبين النظام والعالقة مع النظم األخرى.
• مثال
)
18
(
01/11/1437
نماذج السلوك أو التصرف Behavioral models
• تستخدم لوصف السلوك الكلى للنظام ،وهناك نوعان من نماذج السلوك:
-1نماذج معالجة البيانات:Data processing models
-تبين كيفية معالجة البيانات كلما تحركت فى النظام.
-تستخدم مخططات بيانية لتدفق البيانات (. Data Flow Diagrams )DFD
1-1
1-3
1-2
01/11/1437
19
)
Behavioral models نماذج السلوك أو التصرف
:State machine models نماذج حالة اآللة-2
. تبين كيفية استجابة النظم لألحداث-
تستخدم فى نمذجة نظم الوقت الحقيقي.)UML( جزء متكامل من لغة النمذجة الموحدة• مثال عمل فرن الميكروويف
Operation
Checking
do: check
status
Turntable
fault
Time
Cook
do: run
generator
OK
Emitter
fault
Timeout
Done
do: buzzer on
for 5 secs.
Alarm
do: display
event
Door
open
01/11/1437
Disabled
Cancel
Waiting
20
نماذج البيانات الداللية Semantic data models
• تستخدم لوصف الهيكل المنطقى للبيانات التى يعالجها النظام.
• هو نموذج عالقات سمات عناصر(كينونة)
Entity-relation-attribute modelيبين العناصر الموجودة فى
النظام ،والعالقات بين هذه العناصر وسمات هذه العناصر ويستخدم على
نطاق واسع فى تصميم قواعد البيانات ،ويمكن تنفيذه بإستخدام قواعد
البيانات العالئقية ()Relational database
Design
name
description
C-date
M-date
1
has-links
1
is-a
1
has-nodes
n
n
1
Link
name
type
has-links
n
1
Node
name
type
1
links
2
1
1
has-labels
has-labels
Label
21
n
name
text
icon
01/11/1437
n
نماذج الكائنات Object models
• تصف النظام فى مصطلحات من فئات الكائنات .Object classes
• فئة الكائنات موجز مجرد لمجموعة كائنات ذات سمات شائعة وخدمات
(عمليات )operationsيوفرها كل كائن.
• يمكن إنتاج العديد من نماذج الكائنات مثل:
-1نماذج الوراثة Inheritance models
-2نماذج التجمع Aggregation models
- 3نماذج التفاعل Interaction models
22
01/11/1437
Object models نماذج الكائنات
Inheritance models نماذج الوراثة-1
،)Hierarchy( • تنظم فئات كائن المجال فى مراتب
وتعكس الفئات التى فى أعلى مرتبة معمارية المالمح
وترث فئات الكائنات سماتها،العامة الشائعة لكل الفئات
من واحدة أو أكثر من الفئات األعلى وهى تكون مخصصة
.كلما أمكن
Library item
Catalogue number
Acquisition date
Cost
Type
Status
Number of copies
Acquire ()
Catalogue ()
Dispose ()
Issue ()
Return ()
:• مثال معمارية فئة المكتبة
Recorded item
Title
Medium
Published item
Title
Publisher
Book
Author
Edition
Publication date
ISBN
01/11/1437
Magazine
Year
Issue
Film
Director
Date of release
Distributor
Computer
program
Version
Platform
23
نماذج الكائنات Object models
-2نماذج التجمع :Aggregation models
• يبين كيفية تجميع الفئات وتركيبها من فئات أخرى ،ويشبه نسبيا
العالقات فى نماذج داللة البيانات.
• مثال تجمع الكائنات:
24
01/11/1437
نماذج الكائنات Object models
- 3نماذج التفاعل :Interaction models
• يبين النموذج السلوكى التفاعل بين الكائنات إلنتاج تصرف معين للنظام مخصص
كحالة استخدام.
• تستخدم مخططات التتابع فى لغة النمذجة الموحدة لنمذجة التفاعل بين الكائنات.
• مثال:
Lib1:
NetServer
Ecat:
Catalog
:Library Item
:Library User
Lookup
Display
Issue
Issue licence
Accept licence
Compress
25
Deliver
01/11/1437
• النموذج األولي Prototyping
تحديد المتطلبات المعروفة
النمذجة األولية االرتقائية
النمذجة االولية الشبيهة:
تحديد المتطلبات المعروفة
بناء النموذج األولي
بناء النموذج األولي
ن
ع
م
وضع النموذج تحت
االستخدام
الوصول الى
لنموذج النهائي
26
هل توجد
تعديالت
اختبار النموذج
وتقييمه
ل
الوصول الى ا
النموذج النهائي
هل توجد
تعديالت
التخلص من النموذج وبناء
النموذج األصلي
وضع النموذج تحت
االستخدام
اختبار النموذج
وتقييمه
01/11/1437