Transcript Document

‫مهندس ی نرم‌افزار ‪1‬‬
‫مدلسازی ‪DFD‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫تعریف‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪2‬‬
‫مدلهاي فيزيكي و منطقي‬
‫• مدل‪ ،‬نمايش ي از واقعيت است‪ .‬مدلها همانند تصاوير بيشتر از هزار‬
‫كلمه ميارزند و نمايش ي تصويري از واقعيت هستند‪.‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪3‬‬
‫مدلهاي منطقي‪ ،‬چيستي سيستم يا‬
‫مدلهاي فيزيكي‪ ،‬عالوه بر نمايش‬
‫عملكرد سيستم را نمايش ميدهند‪.‬‬
‫آنها مستقل از پياده سازي هستند؛‬
‫چيستي و عملكرد سيستم‪ ،‬چگونگي‬
‫پياده‌سازي سيستم از نظر فيزيكي و‬
‫بدين معني كه آنها سيستم را مستقل‬
‫از هر گونه پياده‌سازي فني نمايش‬
‫فني را نيز نمايش ميدهند‪ .‬آنها وابسته‬
‫به پياده‌سازي هستند زيرا آنها انتخاب‬
‫ميدهند‪.‬‬
‫بين فناوري‌ها را نشان ميدهند‪.‬‬
‫مدلهاي منطقي سيستم‬
‫• پيش داوريهايي كه نتيجه نحوة پياده‌سازي فعلي سيستم يا نحوة‬
‫پياده‌سازي سيستم از ديدگاه يك فرد هستند را حذف مينمايند‪.‬‬
‫• خطر عدم درك نيازمنديهاي سيستم كه ناش ي از درگیري ذهني زياد با‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪4‬‬
‫چگونگي پياده سازي فني هستند را كاهش ميدهند‪.‬‬
‫• اجازه برقراري ارتباط با كاربران نهايي را با زباني غیرفني ميدهند‪.‬‬
‫مدلسازي فرآيند و ‪DFD‬‬
‫مدلسازي فرآيند روش ي براي سازماندهي و مستندسازي ساختار و جريان‬
‫دادهها از طريق فرآيندهاي سيستم و‪/‬يا منطق‪ ،‬سياستها و رويههايي كه‬
‫بوسيله فرآيندهاي سيستم بكار گرفته شدهاند‪ ،‬است‪.‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪5‬‬
‫نمودار جريان دادهها (‪ )DFD‬ابزاري (و نوعي مدل فرآيند) براي نمايش جريان‬
‫دادههاي درون سيستم و كار يا پردازش انجام شده بوسيله سيستم است‪.‬‬
‫اجزای نمودار‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪6‬‬
‫نمودار جريان داده ساده‬
‫بيانيه حسابهاي ماهيانه‬
‫تنظيم توازن‬
‫حساب‬
‫بانك‬
‫طلبكار‬
‫تراكنشهاي حساب‬
‫حسابهاي بانكي‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫برداشت پول از‬
‫حساب‬
‫واريز پول به‬
‫حساب‬
‫‪7‬‬
‫پرداخت فاكت ‌ور‌‬
‫تراكنشهاي حساب‬
‫كارفرما‬
‫بانك‬
‫ديگر منابع‬
‫درآمد‬
‫تفاوتهاي بين ‪ DFD‬و فلوچارت‬
‫• فرآيندهاي ‪ DFD‬ميتوانند موازي كار كنند (در يك زمان)‬
‫• فرآيندهاي فلوچارت ترتيبي اجرا ميشوند‪.‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪8‬‬
‫• یک ‪DFD‬؛ چندین عمل و پردازش را هم زمان نشان می‌دهد درحالی که‬
‫ممکن است در زمانها و مکانهای مختلف صورت بگیرند‪.‬‬
‫• ‪ DFD‬جريان داده را درون سيستم نمايش ميدهد‬
‫• فلوچارت جريان كنترل را نشان ميدهد (ترتيب و انتقال كنترل‌)‬
‫عوامل خارجي (موجودیت)‬
‫• شخص‪ ،‬واحد سازماني يا ديگر سازمانهايي كه خارج از حيطه پروژه قرار دارند‬
‫اما با سيستم مورد مطالعه تعامل دارند‪.‬‬
‫• عوامل خارجي «محدوده» يا حيطه سيستمي كه مدل ميشوند را تعريف‬
‫مينمايند‪.‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫• وقتي حيطه تغيير ميكند‪ ،‬عوامل خارجي ميتوانند فرآيند شوند و يا بالعكس‬
‫• عوامل خارجي اغلب يكي از موارد زير هستند ‪:‬‬
‫• اداره‪ ،‬سازمان و بخش درون حرفه اما خارج از حيطه سيستم‬
‫• سازمان يا شركت خارجي‬
‫• حرفه يا ديگر سيستمهاي اطالعاتي‬
‫‪9‬‬
‫• يكي از كاربران يا مديران سيستم‬
‫عامل‬
‫خارجي‬
‫منابع ذخيره‌سازي داده‬
‫• منبع ذخیره‌سازي نگهدارنده دادهها است‪.‬‬
‫• اغلب به صورت يك فايل يا پايگاه دادهها پياده سازي ميشوند‪.‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫منبع ذخیره سازي‌‬
‫‪10‬‬
‫نام گروه داده ای‬
‫شماره گروه داده ای‬
‫منابع ذخيره‌سازي داده‬
‫• منابع ذخیره سازي داده‪« ،‬دادههاي ماندگار» هستند در حاليكه‬
‫جريانهاي داده‪« ،‬دادههاي متحرك» هستند‪.‬‬
‫• منابع ذخيره سازي اغلب يكي از موارد ذيل هستند‪:‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪11‬‬
‫• اشخاص (يا گروهي از اشخاص) ‪ ،‬مكانها و اهداف‬
‫• رويدادها (كه داده دربارة آنها دريافت ميشود)‬
‫• مفاهيم (كه دادههاي آنها مهم هستند)‬
‫• منابع ذخيره سازي داده در ‪ DFD‬ها كار ذخيره سازي نمونه‬
‫موجوديت‌ها را برعهده دارند‪.‬‬
‫فرآيند‬
‫• كار انجام شده يا پاسخ داده‬
‫شده به جريانهاي داده ورودي‬
‫يا شرايط است‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪12‬‬
‫هر سيستم يك فرآيند است‬
‫خروجي‬
‫خروجي‬
‫خروجي‬
‫فرآيند‬
‫سيستم‬
‫بعنوان‬
‫فرآيند‬
‫ورودي‬
‫ورودي‬
‫ورودي‬
‫بازخورد و‬
‫چرخه كنتر ‌ل‬
‫محيط سيستم‬
‫(همواره تغيیر مينمايد)‬
‫فرایند‬
‫نام فرایند مرجع‬
‫شماره فرایند‬
‫‪2.3.4‬‬
‫‪Process customer‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪13‬‬
‫نام فرایند‬
‫جريانهاي داده و جريانهاي كنتر ‌ل‬
‫• جريان داده‪ ،‬ورودي داده به فرآيند يا خروجي داده از فرآيند را نمايش ميدهد‪.‬‬
‫• جريان داده ممكن است براي نمايش‪ ،‬ايجاد‪ ،‬خواندن‪ ،‬حذف يا بروز رساني‬
‫داده در يك فايل يا پايگاه دادهها (به نام منبع ذخيره سازي‌) است‪.‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫• يك جريان داده تركيبي‪ ،‬جريان دادهاي است كه مجموعهاي از جريانهاي داده‬
‫ديگر است‪.‬‬
‫ل‪ ،‬شرايط يا رويدادي غیر دادهاي را نشان ميدهد كه يك فرآيند را‬
‫• جريان كنتر ‌‬
‫فعال ميكند‪.‬‬
‫• کمتر روي ‪ DFD‬استفاده ميشود‪.‬‬
‫‪14‬‬
‫ي‬
‫جريانهاي داده به‪ /‬از منبع ذخيره ساز ‌‬
‫پردازش سفارش‬
‫لغو سفارش‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫سفارشات‬
‫خالصه كردن‬
‫سفارشات يكپارچه‬
‫‪15‬‬
‫تغيير آدرس‬
‫سفارش‬
‫جريانهاي داده ساده و تركيبي‬
‫پردازش‬
‫سفارش‬
‫مشتري‌‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫پردازش‬
‫پرداخت دائمي‬
‫پردازش‬
‫پرداخت سريع‬
‫‪16‬‬
‫پردازش‬
‫پرداخت دائمي‬
‫ي‬
‫مشتر ‌‬
‫اتصال و انفصال جريان دادهها‬
‫• جريان داده واگرا‪ ،‬جريان دادهاي است كه به چندين جريان داده تقسيم‬
‫ميشود‪.‬‬
‫• براي نمايش دادههايي مفيد است كه بطور طبيعي به عنوان يك جريان‬
‫شروع ميشوند اما به فرآيندهاي موازي ميروند‪.‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪17‬‬
‫• جريان داده همگرا‪ ،‬براي تمركز چند جريان به يك بسته مورد استفاده قرار‬
‫ميگیرد‪.‬‬
‫• براي نمايش داده از چندين منبع كه بايد با يكديگر تركيب شده و براي‬
‫پردازش بعدي مورد استفاده قرار گيرند‪ ،‬كاربرد دارد‪.‬‬
‫اتصال و انفصال جريان دادهها‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪18‬‬
‫فرآيند‬
‫خطاها‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪19‬‬
‫خطاهاي معمول در ترسیم ‪DFD‬‬
‫• ذخایر داده ها فقط توسط پردازشها انجام می‌شود‪.‬‬
‫•‬
‫•‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪20‬‬
‫•‬
‫•‬
‫داده ها به طور مستقیم بین فرایند ها جریان پیدا نمی کنند‪.‬‬
‫داده ها به طور مستقیم بین گروه های داده ای جریان پیدا نمی کنند‪.‬‬
‫داده ها نمی توانند به طور مستقیم از ‪ Data store‬به موجودیت ها‬
‫یا بر عکس انتقال یابند ‪.‬‬
‫جريانهاي داده نادرست و درست‬
‫جريانهاي داده‬
‫درست‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪21‬‬
‫جريانهاي داده‬
‫نادرست‬
‫خطاهاي معمول در ترسیم ‪DFD‬‬
‫كارمند‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪22‬‬
‫ايجاد حساب عضو‬
‫جديد‬
‫توليد بيانيه كارمند‬
‫بانك‬
‫كارمندان‬
‫بخش‬
‫‪Accounts‬‬
‫‪Receiable‬‬
‫حسابهاي اعضاء‬
‫مسدود كردن‬
‫حساب عضو‬
‫مفهوم بسته جريان داده‬
‫استفاده صحيح‬
‫از مفهوم بسته‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪23‬‬
‫فراهم كننده‬
‫خدمات تلفني‬
‫جزئيات‬
‫تماسها و‬
‫فاكتور‌‬
‫پرداخت‬
‫فاكتور تلفن‬
‫جزئيات تماسها‬
‫استفاده ناصحيح‬
‫از مفهوم بسته‬
‫فاكتور‌‬
‫اگر دو عنصر داده اي باهم انجام شود از يک خط جریان استفاده می شود‬
‫اگر دو عنصر داده اي هميشه با هم انجام نشود از خطوط جداگانه استفاده می شود‪.‬‬
‫ترسیم نمودار ‪DFD‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪24‬‬
‫سیستم‬
‫مثال‬
‫عمیات انجام شده در یک دکه‬
‫فروش شربت آبلیمو‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪25‬‬
‫‪ .1‬ساخت لیست فعالیتها‬
‫•‬
‫استفاده از ‪Use-Case‬‬
‫•‬
‫بدون استفاده از ‪Use-Case‬‬
‫‪ .2‬ساخت ‪ DFD‬سطح زمینه یا ‪ DFD‬مفهومی سیستم‬
‫‪ .3‬ساخت ‪ DFD‬سطح صفر سیستم‬
‫‪.4‬‬
‫ساخت ‪ DFD‬سطح های ‪ 1‬تا ‪n‬‬
)4 ‫ از‬1( ‫روند ترسیم نمودار‬
Customer Order
Serve Product
Collect Payment
Produce Product
Store Product
Order Raw Materials
Pay for Raw Materials
Pay for Labor
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫لیست فعالیت‌ها‬
‫عمیات انجام شده در یک دکه‬
‫فروش شربت آبلیمو‬
26
)4 ‫ از‬1( ‫روند ترسیم نمودار‬
‫لیست فعالیت‌ها‬
‫عمیات انجام شده در یک دکه‬
‫فروش شربت آبلیمو‬
Produce Product
Store Product
Order Raw Materials
Pay for Raw Materials
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
Customer Order
Serve Product
Collect Payment
Pay for Labor
27
‫روند ترسیم نمودار (‪ 2‬از ‪)4‬‬
‫‪ DFD‬زمينه‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪28‬‬
‫نمودار تجزيه‬
)4 ‫ از‬2( ‫روند ترسیم نمودار‬
Context Level DFD
Produce Product
Store Product
‌‫مشتری‬
Sales Forecast
0.0
Lemona Production Schedule
de
Pay
System
Product Served
Payment
Received Goods
Payment
Time Worked
Purchase Order
‫فروشنده‬
‫کارمند‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
Customer Order
Serve Product
Collect Payment
Order
Order Raw Materials
Pay for Raw Materials
Pay for Labor
29
‫روند ترسیم نمودار (‪ 3‬از ‪)4‬‬
‫نمودار‬
‫رويداد‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪30‬‬
‫نمودار‬
‫رويداد‬
‫نمودار‬
‫رويداد‬
‫نمودار سيستم‬
‫تجزيه‬
‫به عمل شكستن سيستم به زير مولفهها‪ ،‬فرآيندها و زيرفرآيندها گفته ميشود‪ .‬هر‬
‫سطح از تجزيه جزئيات بيشتر يا كمتري را آشكار مي نمايد‪.‬‬
‫‪ 0‬سيستم‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪ 1‬وظيفهاي از سيستم‬
‫‪ 1.2‬فعاليت ديگري از وظيفه‬
‫‪ 1.1‬فعاليتي از وظيفه‬
‫‪ 2‬وظيفه ديگري از سيستم‬
‫‪ 2.2‬فعاليت ديگري از وظيفه‬
‫‪31‬‬
‫‪ 2.1‬فعاليت ديگري از وظيفه‬
‫نمودار تجزیه‬
‫سيستم‬
‫نمودار تجزيه يا نمودار سلسله‬
‫مراتبي‪ ،‬تجزيه باال به پائین وظيفهمندي‬
‫سيستم را نمايش ميدهد‬
‫وظيفه ديگر‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪32‬‬
‫فعاليت وظيفه‬
‫فعاليت وظيفه‬
‫تابع‬
‫فعاليت وظيفه‬
‫فعاليت وظيفه‬
‫وظيفه‬
‫وظيفه‬
‫وظيفه‬
‫وظيفه‬
‫وظيفه‬
‫وظيفه‬
‫وظيفه‬
‫وظيفه‬
‫وظيفه‬
‫وظيفه‬
‫وظيفه‬
‫وظيفه‬
‫ سطح صفر‬DFD ‫ساخت‬
Level 0 DFD
Produce Product
Store Product
1.0
Sale
Product Ordered
Payment
‌‫مشتری‬
Product Served
Received Goods
Order Raw Materials
Pay for Raw Materials
Sales Forecast
Customer Order
‫فروشنده‬
Purchase Order
Production
Schedule
2.0
Production
‫کارمند‬
Inventory
3.0
Procurement
Payment
Order
Decisions
Pay
Pay for Labor
4.0
Payroll
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
Customer Order
Serve Product
Collect Payment
Time Worked
33
‫روند ترسیم نمودار (‪ 4‬از ‪)4‬‬
‫حسین دهقان‬
‫دانشکده فنی و مهندس ی جم‬
‫‪34‬‬
‫انگليس ي ساختار‬
‫يافته و‪/‬يا جدول‬
‫تصميمات‬
‫ساختار‬
‫داده‬
‫نمودار جزئي‬