صفحه 1:
مهندسی نرم افزار ٩
اا
صفحه 2:
* مهندسی نرم افزار
اثر: بان سامرویل . مترجم: عین الّه جعفر نژاد قمی
* مهندسی نرم افزار
اثر: راجر اس. پرسمن مترجم: دکتر محمد مهدی سالخورده حقیقی
sacs Kee eens
اثر: ایگور هوریس کیوویچ مترجم: عین الّه جعفر نژاد قمی
صفحه 3:
ee 1
1 Noe Sper | مهندسى نرمافزار
صفحه 4:
صفحه 5:
سرآغا
* مهندسی نرمافزار طراحی برنامهنوبسی. توسعه. مستندسازی و نگهداری
نرم افزار با بکارگرفتن روشهای فنی و عملی از علوم کامپیوتر. مدیربت
پرویه. مهندسی, محدوده کاربرد. طراحی رلبط. مدبریت تجهیزات دیجیتال و
سایر زمینهها است.
* اصطلاح مهندسی نرمافزار بعد از سال ۸ ۱۹۶ شناخته شد. طی کنفرانس
مهندسی نرمافزار نلتو ۱۹۶۸ (که در گارمیش آلمان برگزار شد) توسط ریاست
کنفرانس ۲۰۱۰63۱16۲ معرفی شد. و از آلن پس به طور گسترده مورد
استفاده قرار گرفت.
صفحه 6:
تعریف نرمافزاره چرخه حیات سیستم
* مفاهیم تحلیل و طراحی سیستمها
* سیستمهای اطلاعاتی ساختيافته
* امکان سنجی
نمودارهای جریان داده
* توصیف دادهها
* توصیف فرآیندها
۴ معرفی ابزار: )هبو
Co pro پروژه. برنامهریزی و زمانبندی
صفحه 7:
۳
فرم افزار عبارت است از:
* دستورات (برنامههای کامپیوتری) که در صورت اجرا شدن
باعث انجام foc و کارهای خواسته شده میشوند.
* ساختمان دادههایی که باعث میشوند برنامهها به طور
مناسبی اطلاعات را دستکاری کننده و
* مستنداتی که توصیف کننده عملکرد و چگونگی استفاده از
برنامهها میباشند.
صفحه 8:
نمودار نرخ شكست نرمافزار
صفحه 9:
*نرمافزار سیستمی
*نرمافزار بیدرنگ (۸۳ (Red
*نر هفرع روبرنامههایی است که برای دادن سرویس به برنامههای دیگر نوشته شدهاند.
eaten piles وقابي دنیای واقعی را در هنگام وقوع بر عهده دارند که اجزای آن عبار تند
از ۳ خارجی ۲- مولفه تحلیل ۳- مولفه کنترل ورودی اخروجی
*نرمافزار جاسازع- افو يشل +!حنوا ه48 بين ١ ميلى ثانيه تا ١ ثانيه)
۰ _بردازش اطلاعات تجاری با دسترسی به یک یا چند بانک اطلاعاتی بزرگ
*نرمافزار کامپیوتر شخوبیالکوربتمهای کار با اعداد مانند 6۸0
در عافاله فقظ خواندتى قرار میگیرد و برای کنترل محصودت۱ سسههای ی و ری
ا ادج موه (محصولات هوشمند /اتومبیل /تلفن همراه) کار محدود و مشخصی را انجام میدهد
*نرمافزار هووازش کلمه صفحات گسترده. گرافیک کامپیوتری. چندرسانهای. بازی
پرمدرار 2 : 3 1 ۳
صفحات وب شامل دستورات اجرایی و دادهها که توسط مرورگرها بازیابی میشوند
از الگوریتمهای غیر عددی برای حل مسائل پیچیده استفاده مینمایند.
(سیستم خبره - ت الكو)
صفحه 10:
*تغییر اهداف سازمان
تغییر وظایف سازمان
صفحه 11:
*باید با محیطهای محاسباتی و فنآوریهای جدید مطابقت داشته باشند
*نیازمندبهای جدید سازمان را برآورده کنند
*بلید توسعه داده شوندتا قادربه همکاریبا سیستمها و بانکهای اطلاعاتی
جدید باشند
*باید در معماری نرمافزار تجدیید نظر شود تا در محیط شبکه قابلیت
سرویسدهی را داشته باشد
صفحه 12:
ریک دوره زمانی از هنگام نیاز به سیستم تا پایان بهرهبرداری از آن
* چرخه زیست سیستم شامل
- تعریف (برنامهربزی استراتژیک. تحلیل و طراحی مفهومی)
- توسعه (طراحی تفصیلی, ساخت. استقرار)
ei
نگهداری و بهبود میباشد. -
۲ نیاز به سیستم
اجرا توسعه تعریف نیاز به سیستم
صفحه 13:
هدف: تولید برنامه با کیفیت خوب
عوامل موثر در خوب بودن نرمافزار :
عوامل خارجی: توسط کاربر نرمافزار تشخیص داده میشود (اهداف)
عوامل داخلی: برای متخصصین کامپیوتر قابل درک است (ابزار رسیدن ay اهداف)
عوامل خارجی :
* صحت برنامه (COonreciaess)
استحکام (عوعص0۳9؟)) : جوابكويى در شرايط غيرعادى
* قابليت توسعه (مطلاطلكحج»)
* قابلیت مصرف 2170 (Reusubiliy)
* سازگاری (/۳۳۳۳/۳8()) : رعایت استاندارد
* قابلیت حمل (۳۳۲:7)): اجرا در سیستمعامل و سختافزارهای گوناگون
* کارآیی (مبص(۳): سرعت بالا و حافظه پایین
عوامل داخلی : واحدبندی
صفحه 14:
پیچیدگی و قدرت سختافزار باعث شده که نوشتن نرمافزاری که بتواند از این
تسيل سختافراری استفاده کامل کند مخکل گردد.
توان ما برای ایجاد برنامههای جدید ay اندازه تقاضا نیست
* توان نگهداری برنامههای موجود به خاطر طراحی ضعیف مورد تهدید قرار ميكيرد.
* برنامههای تولید شده مشکلاتی دارند.
- هزینه تولید نرم افزار دائماً افزايش مييابد.
— هزینهها مطابق هزینه پیشبینی شده نيستند.
- عملیات مطابق برنامه زمانبندی انجام نمیگیرند
- نرمافزار تولید شده همه کارهای مورد نظر را انجام نمیدهد
- نرمافزار دارای خطاست
صفحه 15:
برای بر طرف کردن بحران نرمافزار سه عامل کلیدی برای کنترل فرایند تولید نرمافزار و
ایجاد یک پایه و اساس برای ساختن یک نرمافزار با کیفیت بالا عبارتند از
* روشهای مهندسی نرمافزار وطل)
ابزار مهندسی نرمافزار (5ا0)
رویههای مهندسی نرمافزار: ابزار و روشها را به هم پیوند میزننده ترکیب به کاربردن
روشها/ کنترل کیفیت| پیشرفت پروژه
مهندسی نرمافزار شامل قدمهایی است که از این روشها ابزار و رویهها تشکیل شده است.
مهندسی نرمافزار یک نظام
صفحه 16:
ee By ad oe te)
متدلوژی :
به مجموعیای از قواعد و رویپا که به چرخه زیست سیستم
ساختار میدهد متدلوژی میگویند.
فرایند مندسی نرمافزار. مجموعیای از قدمبای قابل پیشبینی
برای توسعه نرمافزار را مشخص میکند.
صفحه 17:
متدولوژی
يك متدولوئی مجموعهایی از روشها و توصیهها (061:065آلا62) میباشد که به همراه
اسرد مشخ واطى دراحل مختلف از وسعه دس ید كار كرف ۲۳-۰
متودولوه در واقع یک چارچوب است که ترتیب گامبهگام راهکارهایی را که به توسعه
peer نيان كمك کنتف مشحس میتماید:
یک متدلویی دارای ابزار تعریف شده و مدل مفهومی میباشد و از یک گرامر
استفاده میکند.
هر متدولوژی برای انجام کارها از تعدادی ابزار و تکنیک استفاده مینماید.
برای مثال مدل شیگرا و یا مدل ساختیافته در توسعه نرمافزار در متدولوکی توسعه
ترمافزار هستند.
صفحه 18:
مدل فرآیند
فرآیند مهندسی نرمافزار مجموعهای از قدمهای قابل پیشبینی برای توسعه نرمافزار را
شخص ميكند.
مدل فرآيند نرمافزار قدمهاء و استراتژی توسعه نرمافزا فرآیند و روش میباشد,
از مدلهای معروف میتوان به مدلهای
ی
افزایشی؛
صفحه 19:
eI er To
متدولوژی, روش طی کردن قدمهایی است که مدل فرآیند تعریف میکند. 1
تکنولوژی مهندسی نرمافزار یک تکنولویی لایهای است و متدولوئی بر روی لایه فرآیند
قرار دارد.
را
ae << کی
> وت Methods _
> أن
Process eal ) د 3
AQualityFocus 00-7 ۹ اج«
صفحه 20:
تکنیکها روشهایی هستند که اعضای تیم با دنبال کردن آنها اطمینان خواهند داشت كار از
ابتدا تا انتها به طور کامل و جامع انجام خواهد شد.
ابزارها برنامههای کامپیوتری هستند که استفاده از تکنیکهای خاصی را آسان مینمایند.
مانند ابزار 95 افت؟) که در تکنیکهای تحلیل و طراحی بسیار مفید است و یا
8 كه مربوط به تكنيكهاى تست نرمافزار ميشود و يا صدها برنامه کاربردی دیگر.
غیر از ابزارهلیی که به ما در استفاده از تکنیکها یاری میبخشند. ابزارهلیی وجود دارند که
اهداف دیگری مانند سرعت بخشیدن به تول ل را دنبال میکنند. مانند تولي
کننده کد(س<) ط() . ابزار مهندسی معکوس و ...
صفحه 21:
‘Communication
project initiation
Planning
estimating
scheduling
tracking
requirement gatheridl
Modeling
analysis
6 Deployment
delivery
support
feedback
ee Nee ae Zoe Ont a asd
صفحه 22:
TY مهندسی سیستم
۲ ۱
نجاییکه نرمافزار هميشه قسمتی از یک سیستم بزرگتر است. کار از مشخص كردن
glee کل سیستم آغاز میشود و سپس زیرمجموعهای از لین نیازمندیها را به نرمافزار
نسبت میدهیم.
به خاطر اینکه نرمافزار مجبوربه داشتن ارتباطبا مولفههای دیگر سیستم از قبیل سختافزار,
مردم و گاه پایگاه دادههاست. داشتن این دیدگاه از سیستم. یک امر اساسی ا
صفحه 23:
۱- مدل آبشاری
سس کسووندسی سیستم
oy ) تجزیه و تحلیل
]7 طراحی
پیاده سازی
و مت
نگهدا
اری
جمعآوری نیازمندیهای مشخصاً مربوطبه نرمافزار برای فهمیدن چگونگی برنامههلیی که بايد
ساخته شوند. مهندس نرمافزار (تحلیلگر) بایستی
- دامته اطلاعات
- عملیات مورد نظر (ورودیها- خروجیها و پردازشها)
- واسطبها
را بداند. نیا
یهای سیستم و نرمافزار مستندسازی شده و با مشتری بازنگری ميشود.
صفحه 24:
4 مهددسی سیستم
1 تجزيه و تحليل
طراحى نرمافزار .يك فرايند جند مرحلهاى است كه روى سه مشخصه متفاوت از برنامه تاكيد
دارد:
- ساختمان دادهها
- معمارى نرمافزار
- جزئیات رویهها 1
در فرایند طراحی نیازمندیها تبسیلبه نمایشی از نرمافزار میشوند تا قبل ازبه کد در آوردن.
قابل ارزیابی باشند. طراحی نیز بایستی مانند بیها مستندسازی گردد.
صفحه 25:
1 مهندسی سیستم
0 تجزیه و تحلیل
پیاده سازی
طراحی بایستیبه صورتی که برای ماشین قلبل فهم باشد در بیاید. اگر طراحی در حد
جزئیات باشد. پیادهسازی میتواند بسیار سریع و به صورت مکانیزه انجام شود.
صفحه 26:
a si استثنای نرمافزارهای
نرمافزار بدون شک پس از تحویل به مشتری دچار تغییر میشود (به 3S
بر ار 4
یا بالا بردن کارایی
1 ات يا بالا بر 1
- درخواست مشترى جهت توسعه در عمليا
3 0 داجرا
نكهدارى نرمافزار تمام مراحل قبل را روى يك برنامه موجود اجرا
صفحه 27:
۱- جریان ترتیبی به ندرت وجود دارد. هميشه برگشت به عقب هست.
۲- بیان صربح همه نیازمندیها در ابتدا مشکل است.
۳- برنامهها دیر حاضر ميشود. مشتری بايد صبر داشته باشد
صفحه 28:
يي ل لب
يك مدل توليد نرمافزار خطى ترتيبى است كه روى جرخه كوتاه توليد تاكيد زيادى دارد.
نيازها بايستى كاملاً شناخته شده و حوزه كار محدود باشد.
* از تكنيكهاى نسل جهارم و مؤلفههاى آماده استفاده ميكردد
* براى يروزههايى كه قابل تقسيم هستند به كار ميآيد
Sie
نیاز به نیروی انسانی کافی
* تعهد تولید کننده و مشتری برای کامل کردن سیستم در زمان کوتاه لازم است
صفحه 29:
و
۱ ود as ad ats One aad
صفحه 30:
7-توليد سريع فرمافزار» (00))
موارد نامناسب برای استفاده از ROBO
*مواردی که تیار به کارانی بالاهیباشد.
* مواردی که امکان واحدبندی مناسب سیستم نباشد.
* مواردی که ریسک تکنیکی بالا باشد (هنگام استفاده از یک تکنولوژی GU arse
صفحه 31:
۳- نمونیسا
نمونهسازی فرایندی است که تولید کننده را قادر به ایجاد یک مدل
از نرمافزار مورد نظر میکند. این مدل میتواند به صورت
) یک نمونه روی کاغذ power probype
۲) یک نمونه کاری worktay prowyppe
۴) یک برنامه موجود جص راطاصمح بولطجد
نمونه باید دور انداخته شود
صفحه 32:
صفحه 33:
1 جم آوری
نیازها
طراحى
۳۳ شرع
صفحه 34:
software functionality and features
صفحه 35:
در این مدل مراحل تولید ترثیبی Oe es ef aid
هر رشته ترتیبی عملیات. یک افزایش قابل تحویل را تولید میکند.
تخویل نسخه لول تست ال«
1
+
~%
3
+
&
تحویل نسخه نوم تست لو كد لو رای چ] تحلیل
تخویل نسخه سوم | تست م كد لهاطراحي له تحلیل
صفحه 36:
6- مدلهاى تكاملى: مدل حلزونى
توسعه سيستم به صورت افزا
planning
estimation
scheduling
risk analysis
communication
modeling
analysis
design
deployment
construction
delivery code
test
feedback
ee Nee ae Zoe Ont a asd
صفحه 37:
۶- مدلهای تکاملی: مدل تولید همزمان
توسعه به صورت یک فرایند سیستماتیک و
مرحلهبندی و برچسبگذاری هر بخش در هر
مرحله. تقسیم سیستم به بخشهای مختلف و
تقسیم نیروها در بین پروژههای مختلف برای
اجرای این بخشها به صورت همزمان
صفحه 38:
۷- مدل تولید با استفاده از مولفهها
۸- مدل روشهای رسمی (فرمال): بکارگیری مدلها و مفاهیم و سیستم در توسعه سیستم
-٩ تکنسکهای نسل چهارم: بکارگیری ابزارهای گرافیکی و ابزارهای مهندسی نرمافزار
)06 3) olan! b OuiPied Process -)+
صفحه 39:
اصول محوری مهندسی نرمافزار
- ایجاد ارزش برای مشتری و کاربر
- سادهسازی
- چشمانداز نگهداری محصول و پروژه
انحه که شما تولید میکنید دیگران مصرفت أله كر
- آیندهنگر بودن
5 طراحی پیشاپیش برای استفاده مجدد
- انديشه
صفحه 40:
هاى مهندسى نرمافزار
فرایندهی عمومی مهندسی نرم إقزار
eae
- طرحریزی
- مدلسازی
- جاریسازی (استقرار و اجراء سیستم)
صفحه 41:
كارهاى ارتباطى - اصول
كوشكرهن-
آمادگی قبزاز ليجاد ايتباط-
. ي[إيتباط -
بهتریرایتباط ایتباط رودررو لست-
یاددلشتبرداریو تبتتصمیمات-
تشريكمساعىبا مشترى-
تمرکز دلشتر-
ترسیم شک نمانیکه موضوعانتش فا فنیسته
0
برلیبرد طرفین_هترینکار مذلکره لسته
صفحه 42:
لطمیناناز ایتباط فعلل
لیجاد سیستمهاوقویو بومیشده -
لستفاده از ساختر تیمیمناسب
مجموعه وظایفک وتاه شده -
بهترینم کانیزم ارتباطیرا تعریفک نید -
لعدلفف رعیو ک لیا تعریفف موده و محدوده را مشخصک نید -
جزئیاتب یشترید ریاف ماید -
دلنستریس ناریوهایت عریفشده توسط ذینفعان ولیلستفادم -
لستخولج و لقتباسجنبهها و ک ارکردهایلصلی-
بازنگرین نایج همرله با ذینفعان-
صفحه 43:
هاى
ریزی - اصول
درک محدوده پروژه
* درگیرکردن مشتری (و سایر ذینفعان)
* مشخص کنید که طرحریزی قابل تکرار است
* برآورد بر اساس دانستهها
* در نظر گرفتن ریسکها
۶ واقعگرائی- واقعگرا بودن
* تنظیم امور با توجه به طرح
* تعریف کنید که چگونه کیفیت قابل تحصیل خواهد بود
* تعریف کنید که چگونه تغیبرات قابل تطبیق دادن آسنتا
ردیابی آنچه که طراحی شده است
صفحه 44:
eS ee tet SS oe aC)
Crkew) يرسشهاى بوهم را مطرح كنيد
- جرا سيستم بايد توسعه يابد؟
- جه جيزى قرار است انجام شود؟
- جه زمانى اين كار انجام خواهد شد؟
- جه كسى مسئول است؟
- کجا آنها استقرار یافتهاند (بصورت سازمانی)؟
- چگونه کار از نظر فنی و مدیریتی انجام خواهد شد؟
- چه مقدار از هر منبعی مورد نیاز است؟
صفحه 45:
رهای طرحریزی
مجموعه وظایف اختصاری
- محدوده پروژه را دوباره ارزیابی کنید (ارزیابی دوباره محدوده پروژه)
- ارزیابی ریسکها
- ارزشگذاری عملیات | جنبهها
oleae یک طر سس
- تعداد افزایشات نرمافزاری
- زمانبندی کلی
- زمان تحویل برای افزایشات
- ایجاد طرحی ساده برای اولین افزایش
- ردیایی پیشرفت (کنترل کیفیت)
صفحه 46:
مامدلها را ایجاد مکنیم تا درک بهتری ار رد را ۳۳۱۳۰۳۵
ساخته شود ایجاد نمائیم
- مدلهای تحلیلی نیازهای مشتری را به وسیله نمایش نرمافزار در سه حوزه
مختلف ارائه میدهند. این سه حوزه عبارتند از:
حوزه اطلاعات. حوزه عملیاتی و حوزه رفتاری
- مدلهای طراحی ارلئه دهنده ویژگیها و خصوصیتهای نرمافزار بوده که این
حصود یات به طراحان کمک میکننه تا به کونها زد بداها ۱۳۰۰۰۰۱
زئیات آن عبارتند از:
صفحه 47:
هاى مدلسازى تحليلى
اصول مدلسازى تحليلى
- قلمرو اطلاعات را ارائه ميكند
- عملكرد نرمافزار را ارائه ميكند
- رفتار نرمافزار را ارائه ميكند
- تفكيك اين ارائهها
مولفههاى مدل تحليلى
- مدل داده
- مدل جريان
- مدل نوع
- مدل رفتار
صفحه 48:
هاى مدلسازى طراحى
اصول
- در مدل تحلیلی» bb بايد قابل رديابى باشد.
- معمارى همواره بايد مد نظر باشد.
- تمرکز بر طراحی دادهها باشد.
- برنامههای واسطه باید طراحی شده باشند (هر دو کاربر و داخلی).
- اجزاء بايد نشان دهنده استقلال عملکرد باشد.
- اجزاء باید به گونهای ضعیف جفت شوند.
صفحه 49:
كارهاى مدلسازى طراحى
طراحى ارائه شده بايد به راحتى درك شود
- مدل طراحى شده بايد به كونهاى قابل تكرار توسعه يابد
- مؤلفههاى مدل طراحى
- طراحی داده
- طراحی معماری
- طراحی اجزا
- طراحی واسط
صفحه 50:
كارهاى ساختا
اصول آمادهسازى: قبل از اينكه حتى يك خط كدنويسى انجام شود بايد از موارد
زير مطمئن شد:
-درک مسئلهای که شما سعی درحل آن دارید (رجوع شود به ارتباط و مدلسازى)
-درک مفاهیم و اصول پایهای
-گزینش زبان برنامهنویسی مناسب. که نیازهای نرمافزار و محیط آنرا که قرار است
اجا شد ودر آن كار كند برآورذه سازت
انتحاب محیط برنامهنویسی كه ابزار ارلئة شده بوط كن موب ساد در BS
گردد
ایجاد مجموعهای از تستهای واحد که اجزاء کامل شده کدگذاری را برای اولین
اجراء تست خواهند کرد
صفحه 51:
promo ام
اصول کدگذاری: با شروع به کدنویسی باید از موارد زیر اطمینان حاصل کرد:
° اب ساختارهای داده که میجواهد نیازهای طراحی را پرآورده سا
* درک معماری نرمافزار و ایجاد واسطمانی که با آن سازگار است
* حفط شرایط ملك تا جایی که ممکن است
* ایجاد حلقههای تو در تو به گنهای که قابلیت تست آسانی داشته باشند
* انتخاب نامهای متغیر معنیداره و پیروی از دیگر استانداردهای کدگذاری محلی
(es)
نوشتن کدهایی که خودشان قابلیت مستند شدن داشته باشند
* ایجاد یک طرح دیداری (به عنوان مثال: ایجاد فضای خالی در شروع متن و ایجاد
حطوط خالی که به درک مطلب کمک میکند)
صفحه 52:
های موبوط به ساخت سیستم
اصول معتبرسازی:
پس از تکمیل اولین مرحله کدگذاری, باید اطمینان حاصل نمائید:
* در زمان مقتضی جلسهای برای بررسی کد برگزار نمایند
* اجرای تستهای واحد و تصحیح خطاهایی که پوشش داده
نشدهاند
* دوباره عمل كردن به كد
صفحه 53:
رهاى موبوط به ساخت سيستم
:اصول تست
7 پزم دیا , شم
تستها باید طرح ویزیشده باشند-
wig tiles ant oye uly gif fuel
درصد خطاها در ۲۰ درصد از کدها یافتمیشوند600-
تستهااز کمبه زیاد بساید لنجام شود
تستفولگیر ممکرنیست
صفحه 54:
مربوط به جارد
اصول
١ را ترس رای ل ماف
sll als) ٩ تس و تحویل شوا
* یک روش پشتیبانی از محصول باید ایجاد شود
موضوعات آموزشی میبایست تهیه و در اختیار کاربر قرار گیرد
ابتدا باید اشکالات نرم افزار مرتفع شده. سپس متحول شود
صفحه 55:
56
لیات نرمافزار و لازم براى عمليات. واسطههاى نرمافزار با مولفههاى دي يستم و
محدودیتهای طراحی که نرمافزار بایستی رعایت کند را مشخص میکند.
تجزبه و تحلمل نبازها
برای طراح نرم افزار نمایش اطلاعات و عملیات را مشخص میکند که منجر به طراحی دادههاء معماری و
رویهها میشود و بیلی مشتری و تولمدکننده نحوه ارزیابی کیفیت نرمافزار را بهد از ساخت مشخص
میکند.
صفحه 56:
pad رم رهز
۱_ توانایی فهمیدن مفاهیم مجرد.
سازماندهی مجدد آنها در گروههای منطقی
ایجاد راهحلهایی برای هر گروه منطقی
۲ توانایی جذب حقایق صحیح و مناسب از منابع گیج کننده و متناقض.
۳_ توانایی فهم محیطهای کاربر/ مشتری.
۴_ توانایی بکارگیری مولفههای سختافزاریانرمافزاری برای محیطهای کاربر/ مشتری.
۵_ توانایی برقراری ارتباط خوب به صورت شفاهی و کتبی.
صفحه 57:
دامنه اطلاعات بایستی شناختسه شده و نمایسش داده شود. (جریان اطلاعات. محتوای اطلاعات و
ساختار اطلاعات)
۱. مدلهایی که نشانگر اطلاعات. عملیات و رفتار سیستم هستند.
۲. مسأله بایستی تقسیمبندی شود تا جزئیات مشخص گردد. (کاهش پیچیدگی)
۳. نمایش منطقی و فیزیکی سیستم بایستی ایجاد گردد.
صفحه 58: