نمودار جریان داده ها - مهدي فقيهي mfaghihi.ir

Download Report

Transcript نمودار جریان داده ها - مهدي فقيهي mfaghihi.ir

‫بخش دوم ‪:‬‬
‫‪ -1‬چرخه تكاملي سيستم‬
‫‪ -2‬چرخه تكاملي و روشهاي تجزيه و تحليل و طراحي سيستم‬
‫‪ -3‬مفهوم مدل و مدلسازي‬
‫‪ -4‬چرخه تكاملي سنتي و نارساييهاي آن‬
‫‪1‬‬
‫چرخه عمومی حیات سیستمها (محصول)‬
‫فروش‬
‫عمر‬
‫نزول‬
‫اشباع‬
‫بلوغ‬
‫رشد‬
‫معرفی‬
‫‪2‬‬
3
‫چرخۀ تکاملی سیستم‬
‫‪System Development Life Cycle‬‬
‫چرخۀ تکاملی سیستم فرآیندي است که از طریق آن تحلیلگران‪،‬‬
‫طراحان‪ ،‬برنامه نویسان‪ ،‬مسئوالن و مدیران یک موسسه به طور‬
‫مشترك سیستم هاي اطالعاتی را بنا می نهند و وسیله ایست که‬
‫مدیران پروژه را قادر می سازد که روند پیشرفت فعالیت ها و مراحل‬
‫مختلف پروژه و عملکردهاي گروه هاي درگیر مطالعه را ارزیابی و‬
‫کنترل می کند‪ .‬آنچه که امروزه چرخه حیات سنتی خوانده می شود‬
‫خود طی چند دهه به تدریج توسعه یافته است و گاهی ‪SDLC‬‬
‫استاندارد نیز خوانده می شود‪.‬‬
‫‪4‬‬
‫به طور کلی چرخه تکاملی شامل مراحل عمده ای به نام تجزیه و‬
‫تحلیل‪ ،‬طراحی و استقرار سیستمهای اطالعاتی است‪ .‬هر یک از این‬
‫مراحل نیز به نوبه خود از فعالیتها و وظایف متعددی تشکیل شده‬
‫است‪.‬‬
‫‪5‬‬
6
‫فاز ‪ :1‬برنامه ریزي و انتخاب در سیستم‬
‫این فاز شامل دو قدم کلی است‪:‬‬
‫قدم اول‪ :‬تعریف نیازمندیهاي سیستم جدید‬
‫اطالعات نیاز سازمان هستند و پروژه هایی براي ایجاد اطالعات‬
‫تعریف می شوند‪:‬‬
‫‪ )1‬تحلیل گر سیستم می بایست نیازهاي اطالعاتی را به‬
‫اولویت هاي سیستم تبدیل کرده و سپس برنامه سیستم‬
‫اطالعاتی سازمان را مستند می کند‪.‬‬
‫‪ )2‬سپس برنامه هاي پیاده سازي سیستم اطالعاتی زمانبندي می‬
‫شوند‪.‬‬
‫‪ )3‬یک امکان سنجی مقدماتی براي پیاده سازي سیستم اطالعاتی‬
‫انجام می شود‪.‬‬
‫‪7‬‬
‫قدم دوم‪ :‬ارزیابی سیستم و تعیین محدوده سیستم جدید‬
‫‪ )1‬برنامه تفصیلی اجراي پروژه هاي سیستم اطالعاتی‬
‫منابع‬
‫جهت پیاده سازى سیستم اطالعاتى‬
‫زمان‬
‫هزینه‬
‫‪ )2‬خروجیها و نتایجی که از سیستم اطالعاتی حاصل می شود‪.‬‬
‫‪8‬‬
‫فاز ‪ :2‬تحلیل سیستم‬
‫در این فاز مطالعات ذیل با دقت در سیستم انجام می شود‪:‬‬
‫‪ )1‬مطالعه فرآیند ها و رویه ها در دستورالعمل هاى موجود سیستم‪.‬‬
‫‪ )2‬سیستم هاي اطالعاتی که جهت انجام کارهاي سازمان وجود دارد‪.‬‬
‫‪ )3‬تحلیلگر می بایست نیاز هاي سیستم جدید را شناسایی نماید و تعریف نماید که‬
‫کاربران از سیستم جدید چه انتظاري دارند‪.‬‬
‫‪ )4‬مطالعه دقیق سیستمهاي دستی و مکانیزه‬
‫‪ )5‬نیاز ها و ساختار آنها (مواردي که باید حذف شوند اضافه شوند و ‪)...‬‬
‫‪ )6‬طراحی اولیه آلترناتیوها (راه کارهاي ) بر آوردن نیاز ها‪.‬‬
‫‪ )٧‬ارزیابی آلترناتیوها جهت برآوردن نیازها از دیدگاه هزینه و نیروي انسانی و سطح‬
‫دانش فنی در سیستم‪.‬‬
‫‪ )٨‬خروجی فاز تحلیل‪ :‬نیاز هاي سیستم جدید و آلترناتیوهایی که توسط تیم تحلیل گر‬
‫توصیه می شود‪( .‬سخت افزارها و نرم افزارهاي مورد نیاز‪)...‬‬
‫‪9‬‬
‫فاز ‪ :3‬طراحی سیستم جدید‬
‫تبدیل مشخصات و آلترناتیو پیشنهاد شده در فاز تبدیل به مشخصات‬
‫منطقی و فیزیکی سیستم جدید است‪.‬‬
‫مى بایست تمام جنبه سیستم جدید اعم از ‪:‬‬
‫‪ ‬ورودي‬
‫‪ ‬پردازش هاي کامپیوتري‬
‫‪ ‬خروجی‬
‫‪ ‬نحوه نمایش و ارائه گزارشات‬
‫‪ ‬پایگاه داده ها‬
‫‪... ‬‬
‫به تفضیل طراحی شود‪.‬‬
‫‪10‬‬
‫سه فعالیت عمده طراحی‬
‫‪ ‬طراحی نیازهاي سیستم هاي جدید‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫برون داده هاي سیستم‬
‫درون داده هاي سیستم‬
‫فایلها پایگاه داده هاي سیستم‬
‫مکانیزم کنترل هاي سیستم‬
‫روشها و مراحل انجام کار ابزار و تجهیزات الزم‬
‫‪ ‬برنامه نویس ی‪ ،‬تست کردن‪ ،‬اشتباه زدایی‬
‫‪ ‬انتخاب سیستم در صورت لزوم‬
‫‪11‬‬
‫فاز‪ : 4‬فاز عملیاتی وپیاده سازي سیستم جدید‬
‫عملیاتی کردن سیستم‬
‫کد کردن برنامه (برنامه نویس ی)‬
‫تست و آزمایش سیستم (خطا هاي سیستم شناسایی و رفع‬
‫می گردد)‪.‬‬
‫نصب سیستم (در عملیات جاري و روزمره سیستم پیاده می شود)‪.‬‬
‫نرم افزار هاي کاربردي نصب و اجرا می گردند‪.‬‬
‫پیاده سازي سیستم‬
‫خطاهاي سیستم و راه های بهبود سیستم شناسایی می شود‪.‬‬
‫برنامه نویس سیستم را تعدیل می کند‪.‬‬
‫‪12‬‬
‫مفهوم مدل و مدل سازی‬
‫یک مدل‪ ،‬نمایش ی از واقعیتها است‪ .‬سیستمها به دلیل تعامل درونی‬
‫اجزا با یکدیگر و برونی آنها با محیط‪ ،‬پیوسته رفتارهای مختلف و‬
‫گاه پیچیده ای دارند‪ .‬این گوناگونی و پیچیدگی رفتارها محققان را بر‬
‫آن می دارد که برای درک و تشریح یا پیش بینی رفتار یک سیستم بر‬
‫اساس متغییرها و پارامترهای مورد نظر‪ ،‬از آن مدلی بسازند و با‬
‫بکارگیری و انجام تغییراتی در آن نتایج را بررس ی کنند‪.‬‬
‫مثال طراحان هواپیما مدلهای مختلفی از یک هواپیما را می سازند تا‬
‫بتوانند صور مختلف بالها‪ ،‬استحکام‪ ،‬جریان هوا در اطراف هواپیما‬
‫و نظایر آن را آزمایش کنند‪.‬‬
‫‪13‬‬
‫خصوصیات یک مدل خوب‬
‫‪ .1‬سازماندهی انبوه اطالعات‬
‫‪ .2‬تقسیم بندي اطالعات با یک نگرش کل به جزء در‬
‫سیستم‬
‫‪ .3‬درك بیشتر و سریعتر‬
‫‪ .4‬وسیله اي مناسب براي تبادل نظر‬
‫‪14‬‬
‫انواع مدلها‬
‫پنج نوع مدل اصلي عبارتند از‬
‫‪ .1‬منطقی‬
‫‪ .2‬فیزیکی‬
‫‪ .3‬رياض ي‬
‫‪ .4‬توصيفي‬
‫‪ .5‬شبیه سازی‬
‫‪15‬‬
‫مدل منطقى‪:‬‬
‫سیستم به چه صورت نیاز هاي کاربران را پاسخ دهد‪ .‬سیستم چه باید‬
‫باشد (بایدها و نبایدها)‪ .‬در حقیقت تصویري از سیستم است که‬
‫آنچه باید در سیستم انجام شود را نشان می دهد‪ .‬در این مدل‪ ،‬نرم‬
‫افزار و سخت افزار مد نظر نیست‪ ،‬بلکه جنبه هاي وظایفی سیستم‬
‫جدید است‪ .‬در اصل عملیات سیستم به صورت شبکه اي از‬
‫فعالیت هاي مختلف و ضروري براي سیستم نمایش داده می شود و‬
‫بر جریان و حرکت منطقی داده ها در طول سیستم تاکید می شود‪.‬‬
‫‪16‬‬
‫نمونه مدل منطقی‬
‫‪17‬‬
‫مدل فیزیکی‪:‬‬
‫مدل فیزیکی تصویری از سیستم است که چگونگی انجام کار را نشان می‬
‫دهد‪ .‬به عبارت دیگر‪ ،‬عملیات سیستم را به همان ترتیبی که واقعا رخ‬
‫می دهد‪ ،‬در مکانی که رخ می دهد‪ ،‬با وسیله‪ ،‬یا شخص ی که آن را‬
‫انجام می دهد‪ ،‬نشان می دهد‪.‬‬
‫به عبارت ساده تر تبدیل مدل منطقی به حالت و مشخصات فیزیکی‬
‫سیستم جدید است‪.‬‬
‫بعض ی از سئواالت مربوط به این مدل عبارتند از‪ :‬چه زبان کامپیوتري‬
‫استفاده شود؟ چه پایگاه داده و ساختار فایلی مورد استفاده قرار‬
‫گیرد؟ چه سیستم عامل و چه سخت افزار هایی مورد نیاز است؟ چه‬
‫شبکه کامپیوتري مورد نیاز است(محلی است یا شبکه اي )؟‬
‫‪18‬‬
‫نمونه مدل فیزیکی‬
‫‪19‬‬
‫مدلهای ریاض ی‬
‫• تمثیل پدیده های جهان به صورت گزاره های ریاض ی با ساختار‬
‫معادله است‪ .‬درک معادالت ریاض ی علی رغم مختصر بودن آن ها‬
‫نسبت به دیگر انواع مدل ها مشکل تر است‪ .‬در پویایی های سیستم‬
‫بعد از مدلسازی برای شبیه سازی رفتار متغیرها از مدل های ریاض ی‬
‫استفاده می شود‪.‬‬
‫‪𝑀𝑎𝑥. ∶ 𝑃 = 8𝑥1 + 4𝑥2‬‬
‫‪2𝑥1 + 3𝑥2 ≤ 12‬‬
‫‪𝑆. 𝑡. :‬‬
‫‪4𝑥1 + 𝑥2 ≤ 12‬‬
‫‪𝑥1, 𝑥2 ≥ 0‬‬
‫‪20‬‬
‫مدل های شمایلی‬
‫• در این مدل ها از نشانه های تصویری نمادین استفاده می شود‪.‬‬
‫استفاده از تصاویر واقعی و مجازی به وفور مورد استفاده قرار می‬
‫گیرد‪ .‬با این مدل های ایده ها ‪ ،‬تصمیمات ‪ ،‬جریان ها فعالیتها و‬
‫اقدامات الزم را می توان با استفاده از عکسها‪ ،‬اسالیدها و پوسترها‬
‫تببین کرد‪.‬‬
‫‪21‬‬
‫مدل های شبیه سازی‬
‫• شباهت زیادی به مدلهای ریاض ی دارند‪ .‬در مدلهای ریاض ی می توان‬
‫جواب مطلوب را با حل تساوی ها و نامساوی ها بدست آورد‪ ،‬اما‬
‫در مدلهای شبیه سازی ابتدا باید مجموعه آزمایشها و محاسباتی را‬
‫در وضعیتهای مختلف و شرایط متنوع واقعیات انجام داد و آنگاه با‬
‫وارد ساختن آن ها در سیستمهای نرم افزاری متغیرها و مقادیر ثابت‬
‫مطلوب را پیدا کرد‪.‬‬
‫‪22‬‬
‫نحوه اندازه گیری اعتبار مدل ها‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪.4‬‬
‫قدرت پیش بینی مدل با توجه به شرایط سیستم و محیط؛ ثبات‬
‫بی ثباتی‪ ،‬نوسانات‪ ،‬رشد و ‪...‬‬
‫قدرت مدل در بکارگیری متغیرها و برقراری ارتباط میان آنها‬
‫اندازه گیری مشاهدات در چارچوب متغیرهایی که در واقعیت قابل‬
‫اندازه گیری نیستند‪.‬‬
‫بررس ی دقت مدل از نظر تعریف صحیح و خاص پیرامون پدیده ها‬
‫و مسائل و رفع ابهام احتمالی‬
‫‪23‬‬
‫مراحل نظری مدل سازی‬
‫ردیف‬
‫وظایف و ارتباطات‬
‫مراحل‬
‫‪1‬‬
‫تعریف مساله‬
‫محتوی بی سامانی و نمادها‬
‫رفتار متغیرهای و پدیده های بی سامانی‬
‫هدف های مدل‬
‫‪2‬‬
‫مفهوم سازی مدل‬
‫هدف های مدل‬
‫مرز سیستم‬
‫ساختار بازخوردها‬
‫‪3‬‬
‫فرمول بندی‬
‫ساختار بازخوردها‬
‫تدوین معادالت ریاض ی‬
‫تبیین رفتار مدل‬
‫‪4‬‬
‫شبیه سازی‬
‫تبیین رفتار مدل‬
‫‪5‬‬
‫ارزیابی‬
‫تبیین رفتار مدل‬
‫حالت ها و رفتار های مدل‬
‫‪6‬‬
‫تحلیل سیستم‬
‫تعیین خط مش ی ها و راهبردها‬
‫تطبیق سیاستها با واقعیات سیستم‬
‫‪7‬‬
‫اجرای مدل‬
‫تدوین الگوی تصمیم گیری‬
‫‪24‬‬
‫چرخۀ تکاملی سنتی‬
‫روشهای سنتی چرخه تکاملی سیستم که خیلی پیشتر از کامپیوترهای‬
‫قوی نسل جدید پا به عرصه میدان گذاشته بود‪ ،‬در واقع فرایندی‬
‫فیزیکی بوده که به سیستم های موسسه ها و سازمانها‪ ،‬به صورت‬
‫حرکت و جریانی از قطعات کاغذ از شخص ی‪ ،‬میزی‪ ،‬یا فایلی به‬
‫دیگری می نگریست‪.‬‬
‫‪25‬‬
‫چرخه تکامل سنتی‬
‫‪26‬‬
‫نارسایی هاي چرخه تکامل سنتی‬
‫‪ -1‬در مرحلۀ تجزیه و تحلیل‪ ،‬تحلیلگر سیستم بر خصوصیات فیزیکی سیستم‬
‫تکیه می کند‪.‬‬
‫در این سیستم در آغاز تصویر کاملی از سیستم مورد مطالعه تهیه می کند‪ ،‬و به‬
‫عنوان نقطۀ شروع کوشش خود را صرف تهیۀ نمودارهاي گردش عملیات و‬
‫نمودارهاي تفصیلی مشابه آن می کنند‪ .‬بدین ترتیب‬
‫ناخود آگاه تحلیلگر به سمت تصمیم گیریهاي فیزیکی سوق داده‬
‫می شود‪.‬‬
‫‪ -2‬در مرحله طراحی و اجراء سیستم تمایل شدیدي به روش از پایین به باال وجود‬
‫دارد‪ .‬چنین عملی باعث می گردد که سیستم در انتها چک گردد و شاید باعث‬
‫دوباره کاریهاي زیادي گردد‪.‬‬
‫‪27‬‬
‫ترتیب تست کردن سیستم در چرخه تکامل سنتی‬
‫‪28‬‬
‫‪ -3‬مراحل چرخۀ تکاملی به صورت متوالی و پشت سر هم انجام می گیرد به‬
‫طوريکه شروع مرحله منوط به تکمیل مرحلۀ قبل است‪.‬‬
‫‪29‬‬
‫هزینه بر طرف نمودن اشتباه در کل مراحل چرخه‬
‫‪30‬‬
‫‪ -4‬استفاده کنندگان سیستم نقش موثري در مراحل مختلف‬
‫چرخه ندارند‪.‬‬
‫‪31‬‬
‫‪ -5‬معموال مستندسازی سیستم به پایان دوره موکول می شود‪.‬‬
‫در این حالت ممکن است تحلیلگر در پروژه های دیگری مشغول بکار‬
‫باشد و مستند سازی سیستم را فراموش کند یا به تعویق اندازد‪ .‬از‬
‫طرفی به دلیل عدم وجود مدلهایی از سیستم و برنامه های آن‪ ،‬بعدا‬
‫هرگونه تغییر و اصالح در سیستم به آسانی صورت نمی گیرد‪ ،‬به‬
‫خصوص وقتی تحلیلگر فرد دیگری باشد‪.‬‬
‫‪32‬‬
‫چرخه حيات سيستمهاي اطالعاتي‬
‫مطلوبيت‬
‫و كارآي ي‬
‫استفاده از بانكهاي اط العايت‬
‫زمان‬
‫بلوغ‬
‫مديريت‬
‫اط العات‬
‫جتم ع وادغام كنرتل‬
‫توسعه شروع‬
‫‪33‬‬
‫چرخه توسعه سيستمهاي اطالعاتي‬
‫مدل آبشاري ‪Waterfall‬‬
‫تجزيه و تحليل و‬
‫تعريف خواسته ها‬
‫طراحي مفهومي‬
‫(ساختار)‬
‫طراحي تفصيلي‬
‫(جزئيات)‬
‫برنامه نويس ي و تست‬
‫واحدهاي سيستم‬
‫ادغام واحدها و‬
‫تست كل سيستم‬
‫استقرار سيستم و‬
‫پشتيباني‬
‫‪34‬‬
‫بخش سوم‪ :‬تكنيك ها و روشهاي مدلسازي‬
‫‪ -1‬مدل جريان داده ها (‪ :)DFD‬ابزاري براي تحليل عملكرد سيستم‬
‫اطالعاتي‬
‫‪ -1-1‬اجزاء يا نمادهاي نمودار‪DFD‬‬
‫‪ -1-2‬تهيه مقدمات رسم نمودار‪DFD‬‬
‫‪ -1-3‬ترسيم نمودار فیزيكي جريان داده ها‬
‫‪ -1-4‬ترسيم نمودار منطقي جريان داده ها‬
‫‪ -2‬ديكشنري يا فهرست داده ها‬
‫‪ -3‬نمودار ارتباط موجوديتها (‪ :)ERD‬ابزاري براي تحليل پايگاه داده‬
‫هاي سيستم‬
‫‪35‬‬
‫‪1‬‬
‫متدلوژی ها و مدل ها‬
‫قبل از پرداختن به مدل ها و مدل سازی ها بهتر است یک بار مفاهیم‬
‫متدلوژی را مرور کنیم ‪:‬‬
‫متدلوژی ها‬
‫* رهنمون های جامعی هستند در جهت انجام و تکمیل تمام فعالیت های‬
‫‪. )Software Development Life Cycle( SDLC‬‬
‫* مجموعه ای از مدل ها ‪ ،‬ابزار و تکنیک ها هستند ‪.‬‬
‫مدل ها ‪Models‬‬
‫* نمایش یک ”نمود“ مهم از دنیای واقعی ‪ ،‬نه مشابه اجسام واقعی ‪.‬‬
‫* تجرید استفاده شده برای مجزا کردن ‪ ،‬خارج از ”نمود“ ‪.‬‬
‫* نمودارها و جدول ها ‪.‬‬
‫* برنامه ریزی پروژه و کمک در بودجه بندی ‪.‬‬
‫‪2‬‬
‫متدلوژی ها و مدل ها‬
‫بعضی از مدل های مورد استفاده در توسعه سیستم ها عبارتند از ‪:‬‬
‫‪DFD,ERD,FlowChart,Use Case Diagrams,Class Diagrams .‬‬
‫و بعضی از مدل های مورد استفاده در مدیریت فرایند توسعه عبارتند از ‪:‬‬
‫‪PERT Charts,Gantt chart organ, Hierarchy chart .‬‬
‫ابزار ‪Tools‬‬
‫یک ابزار ‪ ،‬یک نرم افزار پشتیبان است که کمک می کند به ایجاد مدل ها‬
‫یا دیگر اجزای مورد نیاز در پروژه ‪ ،‬مانند ‪:‬‬
‫‪smart editors , C-S help , debugging tools ,‬‬
‫‪CASE (Computer-Aided System Engineering) Tools .‬‬
‫‪3‬‬
‫متدلوژی ها و مدل ها‬
‫تکنیک ها ‪Technique‬‬
‫تکنیک مجموعه ای از رهنمون ها است که کمک می کند تا یک تحلیل گر‬
‫فعالیت مربوط به توسعه سیستم را تکمیل کند از جمله ‪:‬‬
‫‪Object Oriented analysis , Data modeling , Relational database‬‬
‫‪.design , Structured analysis and design‬‬
‫‪4‬‬
‫متدلوژی ها و مدل ها‬
‫ار تباط میان اجزای‬
‫متدلوژی‬
‫‪5‬‬
‫مدل سازی‬
‫مدل سازی چیست ؟‬
‫یک مدل ‪ ،‬یک انتزاع یا تقریبی است که برای شبیه سازی واقعیات استفاده‬
‫می شود ‪ .‬تمرکز مدل سازی روی این است که سیستم ‪” ،‬چه کاری“ انجام‬
‫می دهد نه ”چگونه“ آن را انجام می دهد‪.‬‬
‫سه قسمت مدل سازی عبارتند از ‪:‬‬
‫ مدل سازی فرایندی (‪. )DFD / Activity diagrams‬‬‫ مدل سازی داده ای (‪. )ERD / Class diagrams‬‬‫ مدل سازی رفتاری‬‫‪(State Transition Diagrams ‘STD’ or Statechart Diagram ,‬‬
‫‪Decision Table , Decision Trees , Pseudo code , Structured‬‬
‫‪English ).‬‬
‫‪6‬‬
‫مدل سازی‬
‫دو خط مشی شناخته شده برای توسعه سیستم ها وجود دارد ‪:‬‬
‫توسعه ساخت یافته‬
‫ نگرش فرایند گرا‬‫ تکنیک تحلیل و طراحی ساخت یافته (‪ )SADT‬که اولین تالش های‬‫صورت گرفته برای رسیدن به نگرش بهبود کیفیت نرم افزار بود ‪.‬‬
‫ برنامه نویسی باال به پایین (که برنامه های پیچیده را به سلسله‬‫ماژول ها تقسیم می کرد) ‪.‬‬
‫ طراحی ساخت یافته‬‫ جداول ساخت یافته‬‫ آنالیز ساخت یافته‬‫ نمودارهای جریان داده ها (‪)DFD‬‬‫‪ -‬نمودار ارتباط موجودیت ها (‪)ERD‬‬
‫‪7‬‬
‫مدل سازی‬
‫نگرش شی گرا‬
‫ نگرش شیء گرا چشم انداز یک سیستم اطالعاتی است به عنوان‬‫مجموعه ای از تعامالت اشیا که برای به انجام رساندن وظایف با هم‬
‫کار می کنند ‪.‬‬
‫ شیء عنصری است در سیستم کامپییوتر که می تواند به پیام ها واکنش‬‫دهد ‪.‬‬
‫ طراحی شی گرا یعنی تعریف تمام انواع اشیا الزم برای برقراری ارتباط‬‫با افراد و دیگر وسایل سیستم و تصحیح تعریف هر نوع شی به نحوی‬
‫که با یک زبان یا محیط معین پیاده سازی شود ‪.‬‬
‫ برنامه نویسی شی گرا یعنی نوشتن دستورات در یک زبان برنامه‬‫نویسی برای تعریف اینکه هر نوع شی چه کاری انجام دهد ‪ ،‬شامل‬
‫پیام هایی که اشیا می فرستند یا دریافت می کنند ‪.‬‬
‫‪8‬‬
‫مدل سازی‬
‫اما به عنوان یک نگاه اجمالی در مورد دو نگرش گفته شده می توان‬
‫گفت ‪:‬‬
‫آنالیز ساخت یافته منجر می شود به طراحی ساخت یافته و متعاقبا برنامه‬
‫نویسی ساخت یافته ‪ .‬موارد زیراز اهداف تکنیک های ساخت یافته است ‪:‬‬
‫* رسیدن به کیفیت باال در برنامه های با رفتار قابل پیش بینی ‪.‬‬
‫* ایجاد برنامه هایی که به راحتی قابل اصالح اند ‪.‬‬
‫* ساده کردن برنامه ها و فرایند توسعه برنامه ‪.‬‬
‫* رسیدن به قدرت پیش گویی و کنترل باالتر در فرایند توسعه ‪.‬‬
‫* سرعت باالتر در فرایند توسعه ‪.‬‬
‫* هزینه کمتر در فرایند توسعه ‪.‬‬
‫‪9‬‬
‫مدل سازی‬
‫‪10‬‬
‫مدل سازی‬
‫شی گرا چیست ؟‬
‫ ساختن بنیادی اشیا ‪ ،‬که ترکیب می کند ساختمان داده ها و رفتار را در‬‫یک موجودیت واحد ‪.‬‬
‫ راه سازمان دهی نرم افزار به عنوان مجموعه ای از اشیا مجزا که‬‫به هم می پیوندند در هر دو ساختمان داده ها و رفتار ‪.‬‬
‫پس در شی گرا ارتباط و اتصال میان داده و رفتار بسیار قوی است در‬
‫حالیکه این اتصال در ساخت یافته بسیار آزادانه و ضعیف است ‪.‬‬
‫‪11‬‬
‫مدل سازی‬
‫هر کدام از دو نگرش گفته شده تکنیک های خاص خود را دارند ‪.‬‬
‫مدل سازی فرایندی ‪ ،‬مدل سازی داده ای و مدل سازی رفتاری از جمله‬
‫تکنیک های مورد استفاده در هر دو نگرش هستند که نوع عملکرد این‬
‫تکنیک ها و پیاده سازی آنها در هر یک از این دو متفاوت است ‪.‬‬
‫تکنیک های ساخت یافته عبارتند از‪:‬‬
‫مدل سازی فرایندی (‪ ، )DFD‬مدل سازی داده ای (‪ )ERD‬و مدل سازی‬
‫رفتاری (‪. )ELH‬‬
‫و تکنیک های شی گرا هم عبارتند از‪:‬‬
‫‪Use case diagrams , Class diagrams ,‬‬
‫‪Interaction digrams .‬‬
‫ما در اینجا به تکنیک های مدل سازی ساخت یافته می پردازیم ‪.‬‬
‫‪38‬‬
‫مدل سازی رفتاری ‪ELH‬‬
‫سومین تکنیک مدل سازی ‪ ELH ،‬ها هستند که البته در حال حاضر به‬
‫عنوان یک تکنیک مدل سازی رایج نیست و می توان گفت منسوخ شده‬
‫است ‪ .‬در این تکنیک تغییراتی را که یک موجودیت در کل سیستم پذیرفته‬
‫است را توصیف می کند ‪.‬در اینجا هم بیش از این به این تکنیک پرداخته‬
‫نمی شود ‪.‬‬
‫نمودار جریان داده ها (تحلیل عملکرد سیستم)‬
‫)‪DATA FLOW DIAGRAM (DFD‬‬
‫‪ ‬این نمودار بهترین و کاملترین ابزار تحلیل جریان داده ها در همه روش های‬
‫تجزیه و تحلیل و طراحی ساخته یافته سیستم اطالعاتی می باشد‪.‬‬
‫‪ ‬این نمودار تحلیل گر را در مدلسازی مناسب سیستم کمک می کند‪.‬‬
‫‪ ‬این نمودار به زبانی ساده و مصور‪ ،‬نشان دهنده حرکت داده ها در طول‬
‫سیستم‪ ،‬پردازش ها و عملیات الزم در تبدیل ورودی به خروجی و اطالعات‬
‫ذخیره شده سیستم می باشد‪.‬‬
‫‪ ‬این نمودار بر خالف فلوچارت ها و نمودارهای فرآیند عملیات که سیستم را‬
‫به صورت متوالی نشان می دهد ممکن است چندین عمل را به صورت‬
‫همزمان یا غیر همزمان در مکان های مشترک یا مختلف با استفاده از وسایل‬
‫گوناگون یا مشترک نشان داده و بررس ی کند‪.‬‬
‫‪48‬‬
‫‪ ‬این نمودار به طور کلی از نمادهای بسیار ساده‪ ،‬محدود و قابل درک استفاده می کند‬
‫و دارای دو نوع فیزیکی و منطقی برای سیستم های خارجی و داخلی می باشد‪.‬‬
‫‪ ‬این نمودار نشان دهنده مرز سیستم و ارتباط آن با محیط خارج سیستم است‪.‬‬
‫‪ ‬این نمودار نشان دهنده عملیات‪ ،‬بایگانی ها‪ ،‬ورودی و خروجی و مخازن داده ها می‬
‫باشد‪.‬‬
‫‪ ‬این نمودار توضیحی در مورد چگونگی پردازش ها و جزئیات کار‬
‫نمی دهد و فقط نام پردازش را بیان می کند‪.‬‬
‫‪ ‬این نمودار بر مبنای نمودار جریان مستندات رسم شده و سپس تغییرات مناسب‬
‫انجام می شود‪.‬‬
‫‪ ‬دارای نقطه قوت به صورت فرآیند سلسله مراتبی است‪( .‬تحلیل فرآیند از کل به جزء)‬
‫‪ ‬در هر سطح یکی از پردازش ها به فعالیت های کوچکتر تجزیه می شود‪.‬‬
‫‪49‬‬
‫اجزاء یا نمادهای نمودار ‪DFD‬‬
‫‪ .1‬پردازش یا عملیات که همیشه یک فعل (عمل) است‪.‬‬
‫محل پردازش‬
‫نام پردازش‬
‫‪1‬‬
‫شناسه‬
‫نام عملیات‪ ،‬شرح عملیات‪ ،‬کد مناسب‪ ،‬شخص‪ ،‬واحد‪ ،‬برنامه‬
‫اجرای عملیات که همیشه یک فعل و عمل است‪.‬‬
‫‪50‬‬
‫‪ .2‬موجودیت یا نهادهای خارجی که همیشه یک اسم است‪.‬‬
‫شناسه‬
‫نام موجودیت‬
‫نام مبدأ‪ ،‬نام مقصد‪ ،‬هر چیزی که درباره آن اطالعات جمع آوری و‬
‫نگهداری می شود‪.‬‬
‫‪ .3‬جریان اطالعات (یک طرفه یا دو طرفه)‬
‫جریان اطالعات و داده ها که به صورت یک طرفه یا دو طرفه است‪.‬‬
‫(حتما یک چیزی باید رد و بدل شود و فقط برای اتصال‬
‫نیست‪).‬‬
‫‪51‬‬
‫‪ .4‬ذخیره اطالعات (پایگاه یا منبع اطالعات‪ ،‬بایگانی‪ ،‬پرونده)‬
‫نوع مخزن داده‬
‫نام مخزن داده ‪M‬‬
‫‪3‬‬
‫شناسه‬
‫نام‪ ،‬کد‪ ،‬محل‪ ،‬دستی‪ ،‬کامپیوتری‬
‫تذکر‪ :‬مستطیل باز خط دار بعنوان بکارگیری منبع در چند مکان می‬
‫باشد‪.‬‬
‫نام‪ ،‬کد‪ ،‬محل‪ ،‬دستی‪ ،‬کامپیوتری‬
‫همچنین دایره خط دار بعنوان بکارگیری یک موجودیت در چند مکان‬
‫است‪.‬‬
‫این عمل برای جلوگیری از تقاطع خطوط و شلوغی شکل بکار می رود‪.‬‬
‫‪52‬‬
‫قواعد رسم نمودار ‪DFD‬‬
‫‪ ‬هدف از ترسیم نمودار را همواره باید در نظر داشت زیرا هدف تعیین‬
‫کننده میزان جزئیاتی است که باید در نمودار قید شود‪.‬‬
‫‪ ‬نمودار طوری رسم شود که توالی عملیات اصلی از چپ به راست و‬
‫از باال به پایین باشد‪.‬‬
‫‪ ‬حتی االمکان از اصطالحات متداول و معمول استفاده شود‪( .‬به هیچ‬
‫عنوان از عبارت غیر معمول استفاده نشود‪).‬‬
‫‪ ‬برای کامل شدن نمودار ‪ DFD‬در کلیه سطوح‪ ،‬هر خانه پردازش‪،‬‬
‫ممکن است به دو یا چند زیر سطح (زیر پردازش) شکسته شود و‬
‫همین طور الی آخر‪.‬‬
‫‪53‬‬
‫‪ ‬نام جریان داده به صورت مفرد بیان شود‪ .‬زیرا تعداد و تناوب آن در‬
‫این نمودار مهم نیست‪.‬‬
‫‪ ‬حرکت چند نوع داده بصورت توام بدون توجه به تعداد اسناد و‬
‫مدارک به صورت یک جریان نشان داده شود‪.‬‬
‫‪ ‬در این نمودار از نشان دادن حرکت جریان مواد و محصوالت‬
‫خودداری شود‪.‬‬
‫‪ ‬از چند شاخه شدن جریان اطالعاتی حتی االمکان خود داری شود‪.‬‬
‫‪54‬‬
‫اشتباه در بکار بردن جریان داده ها بصورت انشعابی‬
‫اقالم فروش‬
‫واحد‬
‫حسابداری‬
‫واحد فروش‬
‫دریافت‬
‫سفارش‬
‫مشتری‬
‫واحد‬
‫حمل و نقل‬
‫‪55‬‬
‫‪ ‬از شرح عملیات روی نمودار جریان داده ها خودداری شود‪.‬‬
‫صدور‬
‫صورتحساب‬
‫‪56‬‬
‫‪ ‬حتی االمکان محل ذخیره داده به صورت جمع نشان داده شود‪.‬‬
‫مانند‪ :‬خریداران و مشتریان‪.‬‬
‫‪ ‬برای جلوگیری از تالقی خطوط می توان یک نام بایگانی‪ ،‬پردازش یا‬
‫مبدا یا مقصد را در چند مکان قرار دارد‪.‬‬
‫‪ ‬نام بایگانی باید بیان کننده اطالعات درون آنها باشد‪.‬‬
‫‪ ‬هیچگاه یک بایگانی مستقیما به یک مبدا یا مقصد وصل نشود‪.‬‬
‫‪ ‬هرگونه اطالعات فقط در صورت تغییر نیاز به ذخیره مجدد دارد‪.‬‬
‫‪ ‬هرگز دو مبدا و مقصد به هم متصل نشود زیرا در هر انتقال حداقل‬
‫یک پردازش باید وجود داشته باشد‪.‬‬
‫‪57‬‬
‫اشتباهات در رسم ذخایر داده ها‬
‫پردازش‬
‫عنصر داخلی‪/‬‬
‫خارجی‬
‫پردازش‬
‫عنصر داخلی‪/‬‬
‫خارجی‬
‫‪58‬‬
‫از نشان دادن تناوب زمان‪ ،‬یا منطق کنترلی روی نمودار باید‬
‫خودداری کرد‪.‬‬
‫مشتری‬
‫صدور چک‬
‫‪59‬‬
‫تمرين‪:‬‬
‫اشتباهات موجود در نمودار ‪ DFD‬زیر را مشخص نمائید‪.‬‬
‫‪60‬‬
-----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------61
‫نکته ‪ :1‬معموال در پایین ترین سطح تجزیه (کوچکترین جزء سیستم‬
‫اطالعاتی) تنها یک عمل پردازش صورت می گیرد‪.‬‬
‫نكته ‪ :2‬در طراحی یک نمودار جریان داده ها بهتر است که مخازن تا حد‬
‫ممکنه در مرکز نمودار باشند تا از شلوغی بیش از حد نمودار‬
‫بخصوص فلشهاي متقاطع کاسته شود تا کمتر باعث گیج کننده‬
‫شدن نمودار گردد‪.‬‬
‫نکته ‪ :3‬نشان دادن موارد خاص‪ ،‬جزئیات و خطاها باعث پیچیدگی‬
‫و از قلم افتادن مطالب اصلی در طراحی سیستم می شود که‬
‫نهایتا منجر به عدم انطباق وضع موجود با وضع مطلوب شده و‬
‫از حالت اجرائی نمودار کاسته می شود‪.‬‬
‫‪62‬‬
‫شماره گذاری پردازش ها در سطح ‪ 1‬با شماره های روند و در‬
‫سطوح بعدی به صورت شکل زیر می باشد‪:‬‬
‫‪0‬‬
‫‪1‬‬
‫‪3‬‬
‫‪2‬‬
‫‪1-2‬‬
‫‪3-2‬‬
‫‪2-2‬‬
‫‪1-2-2‬‬
‫‪3-2-2‬‬
‫‪2-2-2‬‬
‫‪63‬‬
‫پرسشهای الزم در تجزیه و تحلیل‬
‫آیا طی کردن گامهای بازرس ی و کنترل با صرفه تر است یا برخی از‬
‫مخاطرات قابل پیش بینی در بلند مدت؟‬
‫آیا سیستم تا حد امکان خودکار شده است؟‬
‫آیا در مراحل کاری تداخل یا دوباره کاری وجود دارد؟ (هر کار یک بار و‬
‫توسط یک نفر باشد‪).‬‬
‫هر مرحله یا مجموعه یا مجموعه ای از مراحل چه ضرورتی دارند؟‬
‫اگر مرحله مورد نظر حذف شود چه اتفاقی می افتد؟‬
‫‪64‬‬
‫چه کس ی باید یک مرحله یا مجموعه ای از مراحل را انجام دهد؟‬
‫‪ o‬آیا واحد یا شخص دیگر می تواند این کار را به روش ساده تر انجام دهد؟‬
‫‪ o‬آیا با تالش کمتر و هزینه کمتر هر عمل قابل انجام است؟‬
‫‪ o‬آیا فردی با مهارت کمتر‪ ،‬بدون کاهش کیفیت می تواند این کار را انجام‬
‫دهد؟‬
‫این فعالیت چگونه باید انجام شود؟‬
‫‪ o‬آیا کار برگها‪ ،‬تجهیزات و روش های انجام کار بطور صحیح طراحی شده‬
‫اند؟‬
‫در چه زمانی باید یک مرحله یا مجموعه ای از مراحل انجام شود؟‬
‫هر مرحله از کار‪ ،‬در کجا باید انجام شود؟‬
‫‪ o‬آیا تاخیر یا بایگانی قابل حذف یا کاهش است؟‬
‫‪65‬‬
‫تهیه مقدمات رسم نمودار جریان داده ها‬
‫برای درک سیستم‪ ،‬رویکرد ساخت یافته با نگرش سیستمی (از کل به‬
‫جزء) و با استفاده از نمودار جریان داده ها‪ ،‬ابتدا سیستم را در کلی‬
‫ترین حالت دیده‪ ،‬سپس برای شناخت جزئیات آن‪ ،‬سیستم را به‬
‫سطوح تفصیلی تر می شکافد‪.‬‬
‫مثال‪:‬‬
‫برای مسافرت به شهرهای مختلف ابتدا نیاز به نقشه راه های کشور‪،‬‬
‫سپس نقشه مربوط به شهرها و در نهایت برای رسیدن به نقطه‬
‫مورد نظر نیاز به دانستن خیابان های واقع در آن ناحیه است‪.‬‬
‫‪66‬‬
‫تفکیک و تجزیه سیستم از کل به جزء‬
‫‪67‬‬
‫به منظور حصول اطمینان از صحت و ثبات رویه‪ ،‬و رعایت سادگی در‬
‫تجزیه و تفکیک سیستم‪ ،‬اعم از صورت فیزیکی یا منطقی آن‪،‬‬
‫قواعد زیر را باید مد نظر قرار داد‪:‬‬
‫‪ ‬موازنه جریان داده ها‬
‫‪ ‬نامگذاری پردازش ها‬
‫‪ ‬شماره گذاری پردازشها‬
‫‪68‬‬
‫موازنه جریان داده ها‬
‫در گسترش و ادامه تفکیک سیستم به زیر سیستم های مختلف‪ ،‬جریان داده های‬
‫درون داده و برون داده سیستم‪ ،‬باید از نظر اسم و محتوا یکسان بماند‪ .‬تنها‬
‫در این صورت است که می توان مطمئن شد که دو نمودار جریان داده در دو‬
‫سطح از تفصیل یکی است و می توان ارتباط اساس ی بین زیر سیستم های آن‬
‫را (رابطه خانواده – فرزندی) در نظر گرفت‪.‬‬
‫البته در گسترش یک پردازش به چند پردازش دیگر‪ ،‬جریان های دادة درونی و‬
‫برونی فرعی تر و ذخایر اطالعاتی جدیدی بین پردازشها معرفی می شود و این‬
‫دقیقا همان انتظاری است که از رسم نمودار جریان داده ها به سطوح پایین‬
‫تر داریم‪.‬‬
‫‪69‬‬
‫چگونگی ثبات جریان داده های کلی و معرفی جریان داده های درون‬
‫سیستمی‬
‫‪70‬‬
‫نامگذاری پردازشها‬
‫هر یک از پردازشهای سیستم مورد مطالعه‪ ،‬معرف فعالیتی است که در‬
‫آن سیستم یا واحد انجام می شود‪ .‬بنابراین باید بتوان به هر یک از‬
‫فعالیتها‪ ،‬نامی که معرف ماهیت آن است‪ ،‬تخصیص داد‪ .‬برخی از‬
‫پردازشها‪ ،‬نشان دهنده کل سیستم ها‪ ،‬فعالیتها و وظایف مختلف را‬
‫نشان می دهد‪ .‬این که پردازش معرف کدامیک از موارد فوق است‪،‬‬
‫در نامگذاری آن موثر است‪ ،‬و از نامهای کلی تا نامهای تفصیلی و‬
‫تشریحی را شامل می شود‪.‬‬
‫‪71‬‬
‫شماره گذاری پردازشها‬
‫به منظور سهولت تعقیب یک پردازش در درون پردازشهای دیگر‪ ،‬و نه‬
‫به مفهوم ترتیب انجام عملیات‪ ،‬در صورت تجزیه یک نمودار جریان‬
‫داده به سطوح پایین تر باید از یک سیستم منطقی شماره گذاری‬
‫استفاده کرد‪.‬‬
‫شماره گذاری پردازشها‪ ،‬معموال از سطح ‪ 1‬شروع می شود‪ .‬به عبارت‬
‫دیگر‪ ،‬به نمودار سطح صفر سیستم‪ ،‬شماره ای اختصاص داده‬
‫نمی شود‪ .‬نموداری با ‪ 5‬پردازش در سطح ‪ ،1‬شماره های ‪ 1‬الی ‪ 5‬را به‬
‫خود اختصاص می دهد‪ .‬در نمودار سطح ‪ ،2‬در صورت تجزیة هر‬
‫یک از پردازشهای پنجگانه‪ ،‬به ترتیب شماره های (‪،3/1 ،2/1 ،1/1‬‬
‫‪ ... ،)...‬و (‪ )... ،3/5 ،2/5 ،1/5‬را دریافت می کنند‪.‬‬
‫‪72‬‬
‫شماره گذاری پردازشهای هر سطح‬
‫‪73‬‬
74
‫مثال‪ :‬تبدیل نمودار جریان مستندات به نمودار جریان داده ها‬
‫نمودار جریان مستندات سطح یک مربوط به زیر سیستم انبار شرکت‬
‫‪ X‬با جریان داده ها بین فروش و بازاریابی‪ ،‬کارمند توزیع و سرپرست‬
‫توزیع به صورت زیر در نظر می گیریم‪.‬‬
‫‪75‬‬
‫کارمند توزیع سفارش مشتری را دریافت و برنامه توزیع آنرا مشخص می‬
‫کند‪ ،‬سپس سفارش مشتری را در یک مخزن داده دستی قرار می‬
‫دهد‪.‬‬
‫‪76‬‬
‫سرپرست توزیع‪ ،‬جزئیات توزیع را در قالب یک گزارش دریافت می کند و اقالمی را‬
‫که باید توزیع شود جمع آوری می کند‪ .‬جزئیات اقالم جمع آوري شده براي کارمند‬
‫توزیع ارسال می شود ‪ ،‬وي آنها را با سفارش مشتري که در بایگانی دارد تطبیق می‬
‫عودت‬
‫فروش و بازاریابی‬
‫به‬
‫را‬
‫سپس آنها‬
‫دهد‪،‬‬
‫می نماید و رونوشت دوم سفارشات تائید شده را در مخزن سفارش مشتري قرار می‬
‫دهد‪.‬‬
‫گزارش‬
‫توزیع‬
‫‪77‬‬
‫نتایج تبدیلها را در کنار هم قرار می دهیم تا شکل زیر ترسیم شود‪.‬‬
‫‪78‬‬
‫الگوریتم تشکیل نمودار جریان داده ها به کمک جدول جریان داده ها‬
‫این روش با تشکیل جدول جریان داده ها برای هر یک از حوزه های‬
‫کاری‪ ،‬آنرا به سطوح و الیه های مختلف تجزیه نموده و سپس‬
‫جزئیات کاری هر یک را شناسایی و باعث درک کامل و دقیق هر یک‬
‫از کارکردهای سیستم مورد مطالعه می شود‪.‬‬
‫گام ‪ :1‬برای حوزه کاری یا سیستم مورد بررس ی در سطح صفر‬
‫کارکردهای اصلی را تعیین کنید‪.‬‬
‫‪‬در سطوح بعدی برای هر کارکرد اصلی‪ ،‬کار کردهای فرعی‪ ،‬فعالیت و زیر‬
‫فعالیت را تعریف کنید‪ .‬مثال در سیستم بازرگانی و فروش سه کارکرد‬
‫اصلی فروش‪ ،‬انبار و خرید وجود دارد‪.‬‬
‫‪‬هر کارکرد اصلی یا فرعی و فعالیت باید با کلی ترین عنوان که نشان‬
‫دهنده اجزاء کاری می باشد نام گذاری شود‪.‬‬
‫‪79‬‬
‫گام ‪ :2‬تعیین نام و منبع اسناد دریافتی هر یک از زیر سیستم ها‬
‫گام ‪ :3‬تعیین نام و مقصد اسناد ارسالی هر یک از زیر سیستم ها‬
‫مثال‪:‬‬
‫برای ترسیم نمودار جریان داده ها بدین روش از قسمت معاونت‬
‫بازرگانی و تدارکات استفاده شده است که در واقع سطح یک‬
‫نمودار می باشد و سطح صفر آنرا می توان کل شرکت مدنظر‬
‫گرفت‪.‬‬
‫‪80‬‬
‫کد‬
‫واحد مسئول‬
‫(کارکرد اصلی)‬
‫اسناد وارده‬
‫منبع دریافتی‬
‫اسناد ایجاد شده‬
‫فرم سفارش مشتری‬
‫فهرست هفتگی سقف اعتبار‬
‫مشتری‬
‫حسابداری‬
‫راهنمای توزیع کاال‬
‫انبار‬
‫فرم تائید سفارش‬
‫فرم سفارش داخلی‬
‫اعالمیه تحویل کاال‬
‫فروش‬
‫خرید‬
‫حسابداری‬
‫فروشنده‬
‫انبار‬
‫فروشنده‬
‫فروشنده‬
‫‪1‬‬
‫فروش‬
‫‪2‬‬
‫انبار‬
‫فرم سفارش داخلی‬
‫اعالمیه رسید کاال‬
‫کارت تجدید سفارش‬
‫راهنمای توزیع کاال‬
‫‪3‬‬
‫خرید‬
‫لیست اقالم مورد نیاز‬
‫اعالمیه رسید کاال‬
‫صورتحساب پرداختی‬
‫کپی اعالمیه تحویل‬
‫کپی راهنمای توزیع کاال‬
‫کارت تجدید سفارش‬
‫لیست اقالم مورد نیاز‬
‫مقصد‬
‫ارسال‬
‫مشتری‬
‫انبار‬
‫مشتری‬
‫حسابداری‬
‫فروش‬
‫حسابداری‬
‫خرید‬
‫فرم سفارش خرید‬
‫فروشنده‬
‫کپی اعالمیه رسید کاال‬
‫انبار‬
‫‪81‬‬
1
82
‫جدول مربوط به سطح ‪( 2‬انبار)‬
‫کد‬
‫نام فعالیت‬
‫مسئول‬
‫انجام‬
‫نام اسناد و داده‬
‫های ورودی‬
‫منبع تهیه اسناد‬
‫هدف تهیه اسناد‬
‫‪3-1‬‬
‫تخصیص موجودی‬
‫به سفارش‬
‫مسئول‬
‫کنترل‬
‫موجودی‬
‫موجودی‬
‫فایل موجودی‬
‫کنترل آماده بودن‬
‫سفارش و بهنگام‬
‫نبودن فایل‬
‫فرم سفارش داخلی‬
‫فروش‬
‫‪-‬‬
‫‪3-2‬‬
‫تایپ لیست اقالم‬
‫منش ی‬
‫کپی اعالمیه رسید‬
‫کاال‬
‫خرید‬
‫‪-‬‬
‫فرم سفارش داخلی‬
‫کارمند کنترل‬
‫موجودی‬
‫تایپ لیست اقالم‬
‫میزان موجودی‬
‫فایل موجودی‬
‫‪3-3‬‬
‫نظارت بر سطح‬
‫موجودی‬
‫کنترل سطح‬
‫موجودی‬
‫انباردار‬
‫‪3-4‬‬
‫مقایسه اعالمیه‬
‫رسید کاال با تعداد‬
‫موجودی‬
‫دریافت‬
‫کاال‬
‫کارت تجدید نظر‬
‫راهنمای توزیع کاال‬
‫حسابداری‬
‫فروشنده‬
‫اسناد و داده‬
‫های خارجی‬
‫مقصد‬
‫ارسال‬
‫کپی راهنمای‬
‫توزیع کاال‬
‫فروش‬
‫موجودی‬
‫فایل‬
‫موجودی‬
‫فرم سفارش‬
‫داخلی‬
‫منش ی‬
‫لیست اقالم‬
‫سفارش کاالی زیر‬
‫سطح موجودی‬
‫بهنگام نمودن‬
‫حساب فروشنده‬
‫در حسابداری‬
‫کارت تجدید‬
‫سفارش‬
‫اعالمیه تحویل‬
‫کاال‬
‫موجودی‬
‫خرید‬
‫حسابداری‬
‫حسابداری‬
‫فایل‬
‫‪83‬‬
‫موجودی‬
‫کپی اعالمیه رسید کاال‬
‫کپی راهنمای توزیع کاال‬
‫راهنمای توزیع کاال‬
‫‪84‬‬
‫تمرين‪:‬‬
‫م ییی خ ییواهیم ک ییارکرد انب ییار ک ییاالی کارخان ییه ‪ X‬را بررس ی ی کن یییم ای یین انب ییار ب ییا‬
‫م ی ییدیریت کارخان ی ییه‪ ،‬متقاضی ی ی ی و مس ی ییئول خری ی یید داد و س ی ییتد دارد‪ .‬ب ی ییدین‬
‫ص ییورتکه ب ییه ترتی ییب از س ییه واح یید ذک ییر ش ییده درخواس ییت گی یزارش انب ییار‪،‬‬
‫لیست کاالی درخواستی و کیاالی سفار ی ی تحوییل گرفتیه و گیزارش انبیار‪،‬‬
‫ک ی ی ی ی ی ی ی ی ی ی ییاالی درخواس ی ی ی ی ی ی ی ی ی ی ییتی و ک ی ی ی ی ی ی ی ی ی ی ییاالی م ی ی ی ی ی ی ی ی ی ی ییورد نی ی ی ی ی ی ی ی ی ی ی ییاز را تحوی ی ی ی ی ی ی ی ی ی ی ییل‬
‫می دهد‪ DFD .‬سطح صفر را رسم کنید‪.‬‬
‫‪85‬‬
-----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------86
‫ادامه تمرين قبلي‪:‬‬
‫انبییار کییاالی کارخانییه از دو قسییمت واحیید آمییار و واحیید دریافییت و تحویییل کیاال‬
‫تش ییکیل ش ییده اس ییت ک ییه واح یید آم ییار مس ییتقیما ب ییا م ییدیر کارخان ییه ارتب ییاط‬
‫داشییته و اطالعییات هییر یییک از اقییالم را از واحیید دریافییت و تحویییل گرفتیه و‬
‫لیسیت موجییودی را از کییاردکس کییاال در انبییار برداشییته و گیزارش مییورد نیییاز‬
‫مدیریت را تهیه می کند‪.‬‬
‫واحی یید دریافی ییت و تحویی ییل کی ییاال مسی ییتقیما بی ییا متقاض ی ی ی و مسی ییئول خریی یید در‬
‫ارتبییاط بییوده و تعییداد و نییوع کییاال را مشییخص کییرده و در کییاردکس کییاال در‬
‫انبار ذخیره می کند‪ DFD .‬سطح يك را رسم کنید‪.‬‬
‫‪87‬‬
-----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------88
‫ادامه تمرين‪:‬‬
‫در مرحله بعد وضعیت واحد دریافت و تحویل کاال را مورد بررس ی قرار می دهیم‪.‬‬
‫نام اسناد و داده های‬
‫ورودی‬
‫منبع تهیه اسناد‬
‫اسناد و داده های خارجی‬
‫مقصد ارسال‬
‫کد‬
‫نام فعالیت‬
‫لیست کاالی مورد نیاز‬
‫متقاض ی‬
‫مخزن کاال‬
‫کاالی سفارش ی‬
‫متقاض ی‬
‫‪2-1‬‬
‫تحویل‬
‫مسئول خرید‬
‫اطالعات هر یک از اقالم کاال‬
‫تعداد و نوع کاال‬
‫کاال‬
‫واحد آمار‬
‫کاردکس کاال‬
‫مخزن کاال‬
‫‪2-2‬‬
‫دریافت‬
‫کاالی سفارش ی‬
‫لیست مشتریان‬
‫بایگانی لیست سفارشات‬
‫بایگانی لیست‬
‫سفارشات‬
‫لیست کاالی مورد نیاز‬
‫مسئول خرید‬
‫‪2-3‬‬
‫سفارش‬
‫لیست کاالی مورد نیاز‬
‫کاال‬
‫با توجه به جدول نمودار ‪ DFD‬سطح بعدي را رسم نمائيد‪.‬‬
‫‪89‬‬
-----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------90
‫انواع نمودار جریان داده ها‬
‫جاری (فیزیکی سیستم جاری)‬
‫‪.1‬نمایش چگونگی عملکرد فیزیکی سیستم‬
‫‪.2‬نمایش انجام منطقی فعالیت های سیستم جاری (منطقی سیستم جاری)‬
‫‪.3‬نمایش منطقی آنچه که از سیستم انتظار می رود‪(.‬منطقی سیستم جدید)‬
‫‪.4‬نمایش فیزیکی نحوه پیاده سازی سیستم جدید (فیزیکی سیستم جدید)‬
‫نمودارهای فوق به ترتیب ذکر شده رسم و بررس ی می شود‪ .‬این‬
‫نمودار برای سیستم موجود و جدید رسم می شود‪.‬‬
‫‪91‬‬
‫ترسیم نمودار فیزیکی جریان داده ها‬
‫تحلیلگر در مراحل اولیه برخوردش با سیستم مورد مطالعه‪ ،‬با صورت‬
‫فیزیکی آن‪ ،‬یعنی به گونه ای که فعالیتها صورت‬
‫می گیرد روبروست‪ .‬استفاده کنندگان سیستم نیز‪ ،‬همین صورت از‬
‫آن را می شناسد‪.‬‬
‫از نظر استفاده کنندگان‪ :‬سیستم مجموعه ای از واحدها‪ ،‬کارکنان‪،‬‬
‫فرمها‪ ،‬فایلها و روشهای انجام کار است‪.‬‬
‫لذا در مرحله اول‪ ،‬بهترین و موثرترین وسیله درک سیستم‪ ،‬شناخت‬
‫مشکالت موجود آن‪ ،‬سازماندهی انبوه اطالعات جمع آوری شده یا در‬
‫حال جمع آوری و همچنین رسیدن به یک تفاهم مشترک با استفاده‬
‫کنندگان سیستم‪ ،‬ساختن مدل فیزیکی آن است‪.‬‬
‫‪92‬‬
‫مراحل رسم نمودار جریان داده فیزیکی سیستم موجود‬
‫برای رسم نمودار جریان داده فیزیکی سیستم موجود‪ ،‬از خصوصیات‬
‫رویکرد سیستمی و سلسله مراتب سیستمها‪ ،‬می توان طبق نمودار زیر‬
‫عمل کرد‪.‬‬
‫‪ -1‬رسم نمودار جریان داده سطح صفر که محدوده سیستم را‬
‫مشخص می کند‪.‬‬
‫‪ -2‬رسم نمودار جریان داده سطح ‪ 1‬که نماینگر ارتباطات بین‬
‫واحدهای اصلی و بخشهای عمده سیستم است‪.‬‬
‫‪ -3‬رسم نمودار جریان داده سطح ‪ 2‬که نماینگر فعالیتهای عمده‬
‫انجام شده در هر واحد اصلی است‪.‬‬
‫‪ -4‬رسم نمودار جریان داده سطح ‪ 3‬که گسترش بیشتر هر یک از‬
‫فعالیتهای عمده نمودار سطح قبل است‪.‬‬
‫‪93‬‬
‫‪ -1‬رسم نمودار سطح صفر یا نمودار محدوده سیستم‪:‬‬
‫نمودار سطح صفر‪ ،‬کلی ترین تصویر سیستم است که سیستم را به‬
‫صورت یک پردازش واحد نشان می دهد‪ .‬اگرچه از نظر ظاهری‬
‫ساده ترین نمودارهاست ‪ ،‬اما در عمل سخت ترین آنهاست‪ .‬زیرا‬
‫هدف از رسم این نمودار‪ ،‬تعیین مرز و محدوده ی سیستم مورد‬
‫مطالعه است‪ ،‬یا به عبارت دیگر‪ ،‬تعیین مرز بین آنچه در درون‬
‫سیستم و آنچه خارج از آن قرار دارد‪.‬‬
‫‪94‬‬
‫نمودار سطح صفر شرکت نمونه‬
‫‪95‬‬
‫‪ -2‬رسم نمودار جریان داده سطح ‪ 1‬یا نموداری که نمایانگر ارتباطات بین‬
‫واحدهای اصلی و بخشهای عمده سیستم است‪:‬‬
‫نمودار سطح صفر سیستم‪ ،‬محدودة آن را مشخص می کند و چیزی در مورد‬
‫آنچه در درونش می گذرد‪ ،‬بیان نمی کند‪ .‬در این مرحله نموداری رسم می‬
‫کنیم که بدون اینکه وارد جزئیات فعالیتها شود‪ ،‬واحدها و اداره های‬
‫عمده موسسه مورد مطالعه و ارتباطات آنها را روشن می کند‪ .‬برای رسم‬
‫چنین نموداری غالبا از نمودار سازمانی شرکت‪ ،‬به خصوص چنانچه بر‬
‫محور‬
‫باشد‪،‬‬
‫گرفته‬
‫شکل‬
‫فعالیتها‬
‫می توان استفاده کرد و فعالیتهای عمدة آن را شناخت‪ .‬مثال چنانچه‬
‫سیستم مورد مطالعه‪ ،‬امور مالی یک شرکت باشد‪ ،‬نمودار فیزیکی سطح‬
‫یک آن نموداری است که واحدهای عمدۀ آن مثل واحدهای بودجه و‬
‫گزارشات‪ ،‬خزانه داری‪ ،‬حسابداری مالی و همچنین ارتباطات اطالعاتی بین‬
‫واحدها را نشان می دهد‪.‬‬
‫‪96‬‬
‫نمودار سطح ‪ 1‬که ارتباط بین واحدهای اصلی و عمده موسسه را‬
‫نشان می دهد‪.‬‬
‫‪97‬‬
‫‪ -3‬رسم نمودار جریان داده سطح ‪ 2‬که نشان دهنده فعالیتهای عمده‬
‫انجام شده در هر واحد است‪:‬‬
‫نمودار سطح ‪ 2‬سیستم‪ ،‬نشان دهنده فعالیتهای عمده ایست که در‬
‫واحدهای فرعی آن صورت می پذیرد و باید بعدا در مورد جزئیات‬
‫آن مطالعة بیشتری انجام شود‪.‬‬
‫همچنین برای سهولت ردیابی در این شکل‪ ،‬هر جا عنصری داخلی یا‬
‫خارجی تکرار شده است‪ ،‬در گوشه ای از شکل آن با یک خط مورب‬
‫مشخص شده است و در مورد ذخیره داده‪ ،‬تعداد خطوط سمت‬
‫چپ آن اضافه می شود‪.‬‬
‫‪98‬‬
99
‫‪ -4‬رسم نمودار جریان داده سطح ‪ 3‬که گسترش بیشتر هر یک‬
‫از فعالیتهای عمدة نمودار سطح قبل است‪:‬‬
‫تحلیلگر ممکن است ناچار باشد که برای شناخت بیشتر وضعیت‬
‫موجود‪ ،‬هر یک از پردازشهای نمودار سطح قبل را به چندین‬
‫پردازش دیگر تفکیک کند و بدین وسیله به کلیه عملیات انجام‬
‫شده در واحدها آگاه شود‪.‬‬
‫‪100‬‬
101
‫تبدیل مدل فیزیکی به مدل منطقی‬
‫اگر قبال مدل فیزیکی سیستم موجود را رسم کرده باشید در صورتیکه‬
‫به خصوص نمودار سازمانی مورد استفاده بر مبنای وظایف‬
‫سازمانی شکل گرفته باشد با انجام پاره ای تغییرات در نمودارهای‬
‫رسم شده‪ ،‬می توانید آنها را به مدل منطقی تبدیل و به سطوح‬
‫پایین تر تفکیک کنید‪.‬‬
‫برای اعمال تغییرات در مدلهای فیزیکی‪ ،‬مواردی که در ادامه آمده است‬
‫می بایستی رعایت گردد‪.‬‬
‫‪102‬‬
‫‪‬در پردازشها‪ ،‬واحد‪ ،‬شخص یا وسیله انجام آن پردازش‬
‫حذف شود‪.‬‬
‫مثال‪:‬‬
‫آقای حمیدی‬
‫سفارشات دریافتی را‬
‫بررس ی می کند‬
‫تبدیل می شود به‬
‫واحد سفارشات‬
‫آقای علیزاده‬
‫موجودیها را کنترل‬
‫می نماید‬
‫تبدیل می شود به‬
‫بررس ی‬
‫سفارشات‬
‫دریافتی‬
‫کنترل‬
‫موجودیها‬
‫واحد کنترل موجودی‬
‫‪103‬‬
‫‪ ‬وسیله انتقال جریانهای داده از آن حذف شود‪.‬‬
‫مثال ”فرم بررس ی سفارش نقدی“ به صورت ”سفارش نقدی“ و ”فرم‬
‫بررس ی سفارشات اعتباری مشتری جدید“ به صورت ”سفارشات‬
‫اعتباری مشتری جدید“ بیان می شود‪.‬‬
‫‪ ‬ذخایر داده ها به صورتی فارغ از وسیله نگهداری آن بیان شود‪ .‬مثال‬
‫”لیست موجودیها“ و ”لیست مشتریان“ به ترتیب به موجودیها و‬
‫مشتریان تبدیل شود‪.‬‬
‫‪ ‬سایر تغییرات در صورت لزوم در شکل داده شود‪.‬‬
‫‪ ‬در صورت نیاز‪ ،‬نمودارها تا پایین ترین سطح گسترش داده شود‪.‬‬
‫‪104‬‬
‫نمودار منطقی پس از اعمال تغییرات در صورت فیزیکی‬
‫‪105‬‬
‫کلیات دیکشنری یا فهرست داده ها‬
‫رو ی سازمان یافته و منظم الزم براي تعیین اهداف زیر‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪.4‬‬
‫اجزاء تشکیل دهندة سیستم را به نحوي یکسان و منظم در گروه هاي درگیر‬
‫پروژه قرار دهد‪.‬‬
‫عطف دادن متقابل اجزا را تسهیل کرده و به این وسیله از سردرگمی و صرف‬
‫وقت زیاد براي ردیابی جزئیات سیستم پیشگیري کند‪.‬‬
‫ابقاء و نگهداري کارهاي انجام شده از هر مرحله به مرحلۀ دیگر را تسهیل‬
‫کند‪ .‬به طوري که نتایج هر مرحله براي مرحلۀ دیگر مورد استفاده باشد‪.‬‬
‫مبناي محکم و مناسبی براي تهیۀ مستندات سیستم قرار گیرد‪.‬‬
‫برخی از صاحب نظران معتقدند که دیکشنري یا فهرست داده هاي پروژه‬
‫وسیله اي اساس ی براي نگهداري پروژه هاي ساخت یافته در مسیر‬
‫درست است‪ .‬عالوه بر آن ارز ی بلند مدت دارد زیرا به عنوان مبنایی‬
‫براي طراحی پایگاه داده هاي سیستم مورد استفاده قرار می گیرد‪.‬‬
‫‪106‬‬
‫دیکشنری پروژه یا دیکشنری سیستم‬
‫همان طور که در نمودارهای جریان داده ها مشاهده نمودید اجزای‬
‫تشکیل دهنده آن عبارت است از پردازشها‪ ،‬جریان داده ها و ذخایر‬
‫داده ها‪.‬‬
‫دیکشنری یا فهرست داده های سیستم‪ ،‬در واقع شامل نمودارهای جریان‬
‫داده ها و اجزای تشکیل دهنده آن است‪.‬‬
‫دیکشنری سیستم از اجزای زیر تشکیل شده است‪:‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪.4‬‬
‫نمودارهای جریان داده ها‬
‫نمودارهای ارتباط موجودیها‬
‫شرح پردازشها‬
‫دیکشنری داده ها‬
‫‪107‬‬
‫نمودار دیکشنری سیستم و اجزای آن‬
‫دیکشنری سیستم‬
‫نمودارهای جریان‬
‫داده ها‬
‫نمودارهای ارتباط‬
‫عناصر‬
‫جریان داده ها‬
‫ذخائر داده ها‬
‫دیکشنری داده ها‬
‫ساختار داده ها‬
‫شرح پردازشها‬
‫داده های جزء‬
‫‪108‬‬
‫دیکشنری داده ها‬
‫دو هسته اصلی دیکشنری داده ها‪ ،‬یکی جریان داده ها و دیگری ذخایر‬
‫داده هاست‪.‬‬
‫جریان داده ها‪:‬‬
‫در واقع خط لوله ایست که بسته یا بسته هایی از اقالم داده از آن‬
‫عبور می کند‪ ،‬از پرداز ی به پردازش دیگر انتقال داده می شود و‬
‫برعکس‪.‬‬
‫ذخایر داده ها‪:‬‬
‫محلی است که اقالم داده تا زمانیکه مجددا به آن نیاز باشد در آنجا‬
‫ذخیره می شود و به صورت پرونده های دستی و کامپیوتری نشان‬
‫داده می شود‪.‬‬
‫‪109‬‬
‫هر یک از فرم ها گزارش ها و فایل هاي سیستم با توجه به محتواي‬
‫آن داراي ساختار یا ساختارهایی است که بر اساس آن اقالم‬
‫مختلف داده سازماندهی شده است‪ .‬این ساختار اصطالحا ساختار‬
‫داده ها نامیده می شود‪.‬‬
‫بنابراین یک ساختار داده‪ ،‬حاوي یک یا چند قلم داده است که در کل‬
‫یک مفهوم منطقی را منتقل یا پدید هايي را تشریح کند‪.‬‬
‫صورتحساب‬
‫ساختار داده‬
‫تاریخ صورتحساب‪ ،‬نام‬
‫مشتری‪ ،‬جزئیات اقالم و ‪...‬‬
‫داده های جزء‬
‫ارتباط ساختار داده و داده های جزء‬
‫‪110‬‬
‫ارتباط بین جریانهای داده‪ ،‬ذخایر داده‪ ،‬ساختار داده و داده های جزء‬
‫ذخائر داده ها‬
‫جریان داده ها‬
‫ساختار های داده‬
‫داده جزء‬
‫داده جزء‬
‫داده جزء‬
‫داده جزء‬
‫‪111‬‬
‫مراحل تهیه دیکشنری‬
‫هدف از تهیۀ دیکشنري داده ها )جریان داده ها‪ ،‬ذخائر داده ها‪ ،‬ساختار‬
‫داده ها‪ ،‬داده هاي جزء(‪ ،‬تعیین و تعریف ساختار داده ها و داده هاي‬
‫جزء موجود در جریان داده ها و ذخائر داده هاي سیستم است‪ .‬روش‬
‫هاي متعدد و گوناگونی براي تعریف و تعیین این ساختارها وجود دارد‪.‬‬
‫در اینجا از یکی از روشهاي معروف استفاده می شود‪.‬‬
‫براي سازماندهی هریک از اطالعات مربوط به دیکشنري داده ها‪ ،‬پردازشها و‬
‫نمودار ارتباط موجودیت ها در دیکشنري سیستم‪ ،‬بخش ی جداگانه در‬
‫نظر گرفته می شود‪ .‬البته بخش هاي مختلف و اقالم فوق باید بخوبی‬
‫قابلیت دادن عطف متقابل به یکدیگر داشته باشد و همچنین به راحتی‬
‫بتوان هرگونه تغییرات آتی در مورد هر یک در آن انجام داد‪.‬‬
‫‪112‬‬
‫نمونه دیکشنری سیستم بصورت موضوعی‬
‫‪113‬‬
‫منظور از تشریح پردازش ها تعریف مجموعۀ قوانین‪ ،‬سیاستها و رویه هایی‬
‫است که نحوة تبدیل داده ها در پردازش ها را نشان‬
‫می دهد‪.‬‬
‫‪ .1‬سیاست فروش بر حسب نوع مشتري‬
‫– اگر خریدها را ارگان ها‪ ،‬موسسه ها و شرکت هاي دولتی تشکیل دهند‪،‬‬
‫‪ %30‬تخفیف داده می شود‪.‬‬
‫– چنانچه خریداران تجار عمده فروش باشند‪ %20 ،‬تخفیف داده‬
‫می شود‪.‬‬
‫– بقیه مشتریان بایستی تمامی بها را پرداخت کنند‪.‬‬
‫‪114‬‬
‫‪ .2‬سیاست فروش بر حسب میزان خرید مشتري‬
‫– مشتریان که بین ‪ 100000‬و ‪ 500000‬تومان خرید کنند از ‪ %3‬تخفیف‬
‫برخوردار می شوند‪.‬‬
‫– مشتریان که بین ‪ 20000‬و ‪ 100000‬تومان خرید کنند از ‪ %2‬تخفیف‬
‫برخوردار می شوند‪.‬‬
‫– مشتریان که کمتر خرید کنند بایستی کل بهاي کاال را بپردازند‪.‬‬
‫‪115‬‬
‫نمونه اي از‬
‫شرح پردازش‬
‫‪116‬‬
‫نکته‪:‬‬
‫به منظور ساده تر کردن کار تهیه دیکشنري سیستم چه دستی چه‬
‫کامپیوتر ي باید به محض معرفی جریان داده در سطح صفر‬
‫سیستم‪ ،‬و حتما با رسم جریان داده در سطح اول عمل تهیه آن آغاز‬
‫شود‪ .‬مثال در نمودار جریان داده در سطح صفر شرکت ‪x‬ده جریان‬
‫داده وجود دارد که این جریان داده نقطۀ شروع تهیه دیکشنري داد‬
‫ه ها است‪.‬‬
‫‪117‬‬
‫عالئم و قواعد تبین و تعیین ساختارها و داده های جزء‬
‫سیستم‬
‫قاعده اول‪:‬‬
‫ساختار داده ها بایستی مشتمل بر یک یا تعداد بیشتري دادة جزء باشد‪.‬‬
‫این داده هاي جزء با عالمت )‪ (+‬به طورعمودي زیر هم فهرست می‬
‫شوند‪ .‬این عالمت به مفهوم "اضافه شدن به هم" است و نه به مفهوم‬
‫جمع ریاض ی‪ .‬همچنین حاکی از آن است که داده هاي جزء باید در‬
‫ساختار نشان داده شوند‪ .‬ساختار داده ها بایستی نامی متناسب با‬
‫محتواي آن داده باشد‪.‬‬
‫سفارش مشتري (بر مبناي کاتالوگ) = مشخصات مشتري‬
‫‪+‬آدرس مشتري‬
‫‪+‬جزئیات اقالم سفارش‬
‫‪+‬مبلغ پیوست‬
‫‪118‬‬
‫قاعده دوم‪:‬‬
‫اقالمی از داده هاي جزء (یا گروهی از داده هاي جزء) که چندین بار تکرار‬
‫می شود در عالمت آکوالد{ } قرار داده می شود‪ .‬مثال جزییات اقالم سفارش که‬
‫عبارت از شمارة صفحه‪ ،‬شمارة جنس‪ ،‬شرح‪ ... ،‬ممکن است تا ‪ n‬بار تکرار شود‪،‬‬
‫بنابراین ساختار دادة مورد نظر به صورت زیر تکمیل می شود‪.‬‬
‫سفارش مشتري =مشخصات مشتري‬
‫‪+‬آدرس مشتري‬
‫‪+‬جزییات اقالم سفارش‬
‫‪+} n‬شمارة صفحه ‪+‬شمارة جنس ‪+‬شرح ‪+‬اندازة‪+‬تعداد ‪+‬بهاي واحد ‪+‬مبلغ{‬
‫‪+‬مبلغ پیوست‬
‫‪... +‬‬
‫متوجه باشید که داده هاي جزء تکراري نسبت به بقیۀ داده هاي جزء کمی تو رفتگی‬
‫پیدا می کند و سپس در {} نوشته می شود‪ .‬هر دادة جزء درون {} به نوبۀ خود‬
‫عالمت ‪ +‬را دارد‪ ،‬زیرا همۀ آنها باید در ساختار باشد‪.‬‬
‫‪119‬‬
‫قاعده سوم‪:‬‬
‫چنانچه ساختار داده اي حاکی از آن باشد که از بین یک یا چند دادة جزء‬
‫یکی انتخاب شود‪ ،‬در این صورت داده هاي جزء مربوط به این ساختار‬
‫در بین عالمت ]‪ [/‬قرار می گیرد‪.‬‬
‫سفارش مشتري =مشخصات مشتري‬
‫]نام و نام خانوادگی ‪/‬نام شرکت[‬
‫‪+‬آدرس مشتري‬
‫‪+‬جزییات اقالم سفارش‬
‫‪+{n‬شمارة صفحه‪+‬شمارة جنس ‪+‬شرح ‪+‬اندازة‪+‬تعداد‪+‬بهاي واحد ‪+‬مبلغ}‬
‫‪+‬مبلغ پیوست‬
‫‪... +‬‬
‫‪120‬‬
‫قاعده چهارم‪:‬‬
‫داده هاي جزء اختیاري یک ساختار داده در ( ) نشان داده می شود‪ .‬مثال در فرم‬
‫مورد مطالعه‪ ،‬مبلغ مربوط به ارزش بیمه شده‪ ،‬اختیاري است و به میل خریدار‪،‬‬
‫انجام می شود‪.‬‬
‫سفارش مشتري =مشخصات مشتري‬
‫]نام و نام خانوادگی ‪/‬نام شرکت[‬
‫‪+‬آدرس مشتري‬
‫شهر ‪+‬خیابان ‪+‬پالك ‪+‬کدپستی ‪+‬شمارة تلفن‬
‫‪+‬جزییات اقالم سفارش‬
‫‪{n‬شمارة صفحه ‪+‬شمارة جنس ‪+‬شرح ‪+‬اندازة‪+‬تعداد ‪+‬بهاي واحد ‪+‬مبلغ}‬
‫‪+‬مبلغ پیوست‬
‫‪+‬بهاي اقالم سفارش شده‬
‫‪+‬هزینۀ حمل توسط شرکت‬
‫‪(+‬ارزش بیمه شده)‬
‫‪+‬مبلغ کل‬
‫‪121‬‬
‫تشریح جریان داده ها‬
‫در تشریح جریان داده ها باید ساختار اصلی داده ها را تعین نمود‪ .‬در‬
‫اینجا فقط به ساختار اصلی داده ها اشاره می شود و تشریح آن به‬
‫بخش شرح ساختار موکول می شود‪.‬‬
‫‪122‬‬
‫تشریح ذخایر داده ها‬
‫چون ذخائر داده ها‪ ،‬داده هاي در حال سکون هستند بنابراین ساختار‬
‫داده هاي آنها با تشریح داده هاي جزء تشریح‬
‫می شوند‪ .‬عناصر مهمی که در تشریح ذخائر داده ها بایستی ذکر‬
‫شوند عبارند از‪:‬‬
‫‪‬نام و نام مستعار ذخیره داده ها‬
‫‪‬شرح مختصري در مورد آن‬
‫‪‬نام جریان دادة ورودي به و خروجی از آن‬
‫‪‬ساختار دادة تشکیل دهندة آن‬
‫‪‬اطالعات دیگري نظیر نحوة سازماندهی‪ ،‬حجم و نظایر آن که خصوصیت‬
‫فیزیکی ذخیرة داده را نشان می دهد نیز ممکن است نگهداري شود‪.‬‬
‫‪123‬‬
‫نمونه شرح یک ذخیره داده‬
‫‪124‬‬
‫تشریح ساختار داده ها‬
‫در تشریح فرمت داده ها گفته‬
‫شد که ساختار داده هاي‬
‫تشکیل دهندة جریان داده و‬
‫ذخائر مربوط به آنها در بخش‬
‫جداگانه اي از دیکشنري داده‬
‫تشریح خواهد شد‪ .‬حال در‬
‫این بخش به معرفی و تشریح‬
‫هر یک از ساختارهاي موجود‬
‫در جریان داده ها و ذخائر‬
‫پرداخته‬
‫ها‬
‫داده‬
‫می شود‪.‬‬
‫‪125‬‬
‫تشریح داده های جزء‬
‫‪126‬‬
‫موارد استفاده از دیکشنری سیستم‬
‫داشتن مجموعه اي از تعاریف صحیح و دقیق از کلیه داده ها و‬
‫موجودیت هایی که در موسسه مورد مطالعه وجود دارد‪ ،‬بسیار‬
‫ارزشمند است‪ .‬گاه یک دیکشنري داده ها‪ ،‬تنها منبع مشترك کلیه‬
‫تعاریف و مشخصات سیستم براي استفاده کنندگان‪ ،‬تحلیلگران و‬
‫طراحان است‪ .‬به عنوان تنها منبعی براي شناخت فرمت و محتواي‬
‫شناخته‬
‫سیستم‬
‫استفاده‬
‫مورد‬
‫هاي‬
‫داده‬
‫می شود‪ .‬یک دیکشنري داده با طراحی مناسب می تواند موارد زیر را به‬
‫وجود آورد‪:‬‬
‫درك صحیح و روشن از داده هاي سیستم‬
‫یافتن جریان هاي داده هاي از قلم افتاده‬
‫کشف تعاریف تکراري و داده هایی که توسط هیچ پرداز ی‬
‫مورد استفاده قرار نمی گیرد‪.‬‬
‫استفاده در برنامه نویس ی‬
‫‪127‬‬
‫موارد زیر از دیکشنري دستی قابل حصول می باشد‪:‬‬
‫‪‬تهیۀ فهرست کامل‬
‫‪‬تهیۀ فهرست خالصه‬
‫‪‬امکان برقراري عطفهاي متقابل‪ :‬تغییرات در دیکشنري داده‬
‫ها‬
‫‪128‬‬
‫تمرين‪ :‬در سالن ماشین كاري كارخانه آلفا‪ ،‬سفارش مواد از انبار مواد اوليه فلزي به وسيله فرم زير انجام مي گیرد‪ .‬با توجه‬
‫به اينكه كليد اصلي بانك اطالعاتي واحد پشتيباني ابزار اين شركت‪ ،‬كد ابزار مي باشد پس در صورتيكه فرد سفارش‬
‫دهنده نام ابزار را تكميل نكند مشكلي بوجود نمي آيد از طرف ديگر واحد برنامه ريزي اين شركت فقط در بعض ي از مواقع‬
‫تاریخ و ساعت برش را مشخص مي كند‪ .‬با توجه به فرم و اطالعات ذكر شده ساختار داده را مشخص كنيد‪.‬‬
‫‪129‬‬
-----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------130
‫نمودار ارتباط موجودیتها (تحلیل داده های سیستم)‬
‫‪Entity Relationship Diagram‬‬
‫نمودار جریان داده ها‪ ،‬چگونگی پردازش و ذخیره سازي داده ها در یک سیستم را‬
‫بدون آنکه هیچ گونه اشاره اي به مفهوم اصلی داده ها یا ساختار آنها داشته‬
‫باشد‪ ،‬مطرح می کند‪ .‬در مدل داده اي‪ ،‬داده ها وسیله تحلیل ساختار منطقی‬
‫اطالعات در یک سازمان می باشد‪ .‬مدل منطقی داده ها با نمایش ترسیمی به ما‬
‫می گوید که اطالعات یک سازمان راجع به چه چیزهایی می باشد‪ ،‬چگونه آن‬
‫اطالعات با اطالعات دیگر و مفاهیم کاري ارتباط برقرار می کند و کاربرد قواعد‬
‫کار در استفاده از آن اطالعات چگونه است‪.‬‬
‫در نمودار ‪ DFD‬بیشتر بر جنبه جریان داده ها از مبدا تا مقصد توجه‬
‫می شود ولی در نمودار ‪ ERD‬بدون توجه به تغییرات انجام شده روی داده ها‬
‫بر رابطه بین افراد‪ ،‬بخش ها و موجودیت ها تاکید دارد‪.‬‬
‫‪131‬‬
‫مدلسازی موجودیتها‪ ،‬یک دیدگاه سیستمی مستقل از پردازش های‬
‫سیستم جاری را فراهم کرده و بدون در نظر گرفتن روابط فیزیکی‬
‫داده ها به تحلیل آنها می پردازد‪.‬‬
‫مدلهای موجودیتها از تجزیه و تحلیل داده ها نتیجه می گیرد‪ .‬تحلیل داده‬
‫ها‪ ،‬رو ی برای طراحی ساختار داده ها‪ ،‬حذف ناسازگاریها و آزمایش‬
‫داده ها می باشد که دارای سه مرحله زیر است‪.‬‬
‫‪‬شناسایی موجودیتهای سیستم جاری‬
‫‪‬شناسایی روابط موجودیتها‬
‫‪‬رسم نمودار رابطه موجودیت‬
‫نقطه اتصال ‪ DFD‬و ‪ ERD‬پایگاه ذخیره اطالعات می باشد و به‬
‫کمک آن بهم وصل می شوند‪.‬‬
‫‪132‬‬
‫اصطالحات ‪ERD‬‬
‫موجودیت‪:‬‬
‫هر گونه یء یا مفهومی است که سیستم به نگهداري اطالعات پیرامون‬
‫آن نیاز دارد‪ .‬مثال موجودیت فروشنده با این اطالعات شناخته می‬
‫شود‪ :‬نام‪ ،‬نشانی و یا شماره تلفن‬
‫موجودیت را با یک مستطیل با گوشه هاي گرد نمایش می دهند‪.‬‬
‫هر موجودیت دارای ویژگیهای زیر است‪:‬‬
‫بیش از یک رخداد قابل تشخیص پیرامون آن وجود داشته باشد‪( .‬مثال یک‬
‫کاال خریداری‪ ،‬نگهداری و بفروش می رسد‪).‬‬
‫اطالعات قابل نگهداری پیرامون آن وجود داشته باشد‪.‬‬
‫برای سیستم سودمند باشد‪.‬‬
‫‪133‬‬
‫رابطه ها‪:‬‬
‫رابطه ها وقایعی را بیان می کنند که توسط آنها موجودیت ها به هم‬
‫متصل (مرتبط) می کنند‪ .‬رابطه ها در واقع رابط بین موجودیت ها‬
‫می باشند‪.‬‬
‫رابطه ها با یک خط نمایش داده می شوند که نام رابطه روي خط‬
‫گذارده می شود‪.‬‬
‫سفارش خرید‬
‫داده می شود‬
‫فروشنده برای‬
‫فروشنده‬
‫رابطه فوق به ما می گوید که هر سفارش خرید برای یک فروشنده‬
‫صادر می شود و هر فروشنده نیز سفارشات خرید رسیده را تامین‬
‫می کند‪.‬‬
‫‪134‬‬
‫نکته‪ :‬بطور کلی خطوط ارتباطی در طرف چند بصورت سه پایه‬
‫(پا خروس ی) و در طرف یک بصورت یک خط منفرد می باشد‪.‬‬
‫اختیاری بودن روابط‪:‬‬
‫هر گاه یک موجودیت با بیش از یک رخداد از موجودیت دیگر رابطه‬
‫داشته باشد‪ ،‬آنگاه این رابطه در صورت اختیاری بوسیله خط چین در‬
‫طرف اختیاری نشان داده می شود و چنانچه مشارکت هر دو‬
‫موجودیت اختیاری باشد هر دو طرف خطوط ارتباطی خط چین می‬
‫گردد‪.‬‬
‫سفارش خرید‬
‫فروشنده‬
‫‪135‬‬
‫مشخصه‪:‬‬
‫صفات داده اي موجودیت اند که به آن عنصر داده اي‪ ،‬صفت (فیلد)‬
‫داده اي نیز گفته می شود‪.‬‬
‫درجه‪:‬‬
‫مشتري‬
‫موجوديت‬
‫نام مشتري‬
‫مشخصه‬
‫تعداد رخدادهاي یک موجودیت که در یک رابطه معین شرکت دارد‪،‬‬
‫به وسیله درجه آن رابطه مشخص می گردد‪ .‬در ساختار منطقی داده‬
‫ها درجات بین موجودیت ها از طریق خط رابطه نشان داده می‬
‫شود‪.‬‬
‫‪136‬‬
‫سه نوع براي رابطه ها وجود دارد‪:‬‬
‫‪ .1‬یک به یک‪ :‬هر رخداد ‪ A‬تنها با یک رخداد ‪ B‬و هر رخداد ‪ B‬تنها با‬
‫یک رخداد ‪ A‬ارتباط دارد‪.‬‬
‫مثال‪ :‬هر کاال دارای یک نام و هر نام متعلق به یک کاال می باشد‪.‬‬
‫‪ .2‬یک به چند‪ :‬هر رخداد ‪ A‬با یک یا چند رخداد ‪ B‬و هر رخداد ‪ B‬با‬
‫یک رخداد ‪ A‬ارتباط دارد‪.‬‬
‫مثال‪ :‬هر فروشنده می تواند یک یا چند سفارش خرید را تامین کند ولی هر‬
‫سفارش خرید فقط برای یک فروشنده ارسال می شود‪.‬‬
‫‪ .3‬چند به چند‪ :‬هر رخداد ‪ A‬با یک یا چند رخداد ‪ B‬و هر رخداد ‪ B‬با‬
‫چند رخداد ‪ A‬ارتباط دارد‪.‬‬
‫مثال‪ :‬هر دانشجو با چند استاد و هر استاد با چند دانشجو در ارتباط است‪.‬‬
‫‪137‬‬
‫انتخابی بودن روابط‬
‫روابط انتخابی زمانی رخ می دهد که وجود یک رابطه مانع از وجود یک‬
‫رابطه دیگر باشد‪ .‬رویداد ‪ B‬می تواند متعلق به رویداد ‪ A‬یا ‪ C‬باشد‬
‫ولی نمی تواند به هر دوی آنها متعلق باشد‪ .‬اینگونه روابط با کمان‬
‫پیوسته یا کمانهای مجزا که با نامی منحصر به فرد معین شده اند‬
‫نمایش داده می شود‪.‬‬
‫‪A‬‬
‫‪C‬‬
‫‪A‬‬
‫‪D‬‬
‫‪C‬‬
‫‪a‬‬
‫‪a‬‬
‫‪B‬‬
‫‪B‬‬
‫مثال‪ :‬تغییر میزان موجودی به دو صورت کاهش ی یا افزایش ی است ولی در یک لحظه‬
‫خاص به هر دو صورت نخواهد بود‪.‬‬
‫یک بیمار یا در بیمارستان بستری می شود و یا اینکه بصورت سرپایی مداوا‬
‫می شود و هر دوی‬
‫‪.‬‬
‫نیست‬
‫ممکن‬
‫هم‬
‫با‬
‫آنها‬
‫‪138‬‬
‫شناسایی موجودیت ها‬
‫براي این کار ابتدا مخازن داده هاي فیزیکی را بررس ی می نماییم تا‬
‫ببینیم اطالعاتی که در آنجا نگهداري می شود دقیقا راجع به چه‬
‫چیزي است‪ .‬اگر پروندة سفارش مشتري را انتخاب کرده و راجع به‬
‫آن با کاربران صحبت نماییم‪ ،‬متوجه خواهیم شد که این پرونده‬
‫نه تنها شامل جزییات سفارش می باشد بلکه مشخصات مشتریان‬
‫در آن موجود است‪ .‬براي مثال با بررس ی مخازن داده ها مانند‬
‫فروشنده‪ ،‬و سفارش خرید‪ ،‬موجودیت ها شامل‪ :‬موجودي‪،‬‬
‫فرشنده‪ ،‬کاال‪ ،‬مشتري‪ ،‬انبار‪ ،‬سفارش خرید‪ ،‬سفارش مشتري و‬
‫تحویل است‪.‬‬
‫‪139‬‬
‫بایستی براي دقت بیشتر در روند شناسايي موجوديت ها‪ ،‬سوالت زیر‬
‫بعد از تعیین موجودیت ها مطرح گردد‪.‬‬
‫– آیا هر یک از موجودیت ها واقعا یک موجودیت می باشند یا صرفا‬
‫خصیصۀ موجودیت دیگري هستند؟‬
‫– آیا موجودیتی وجود دارد که خود زیر مجموعۀ رخدادهاي موجودیت‬
‫دیگري باشد؟‬
‫– آیا همۀ موجودیت ها یک مشخصۀ منحصر به فرد دارند؟‬
‫‪140‬‬
‫شناسایی روابط (استفاده از ماتریس موجودیت)‬
‫‪141‬‬
‫مثال‪:‬‬
‫موجودي و تحویل‪:‬‬
‫هر رخداد موجودي شامل مقداري از یک کاالي منفرد در یک محل می‬
‫باشد که همۀ آن طی یک تحویل‪ ،‬دریافت شده است‪ .‬اگر مقداري از‬
‫یک کاالي خاص داشته باشیم که بخش ی از آن طی یک تحویل و‬
‫بخش دیگر آن طی تحویل دیگر‪ ،‬دریافت شده باشد‪ ،‬آنگاه بیش از‬
‫یک موجودي خواهیم داشت‪ .‬بدین ترتیب هر رخداد موجودي فقط‬
‫به یک تحویل مربوط است‪ .‬مقدار کاالي هر تحویل ممکن است آن‬
‫قدر زیاد باشد که نشود آن را در یک محل ذخیره نمود‪ ،‬بنابراین به‬
‫دو موجودي یا بیشتر در همان انبار تفکیک می شود‪.‬‬
‫‪142‬‬
‫هر موجودي بایستی ضمن یک تحویل‪ ،‬تحویل داده شود‪ .‬پس رابطه از‬
‫طرف موجودي اجباري است‪ .‬اما تحویل کاال می تواند از طرف انبار‬
‫رد شود‪ .‬در این صورت تحویل ثبت می گردد ولی با هیچ موجودي‬
‫رابطه نخواهد داشت‪ .‬بنابراین رابطه از طرف تحویل اختیاري‬
‫خواهد بود‪.‬‬
‫• هر موجودي بایستی از طریق یک تحویل‪ ،‬تحویل داده شود‪.‬‬
‫• هر تحویل می تواند تحویل یک یا چند موجودي باشد‪.‬‬
‫‪143‬‬
144
‫نکاتی در ترسیم ‪ERD‬‬
‫‪ ‬موجودیت هاي سیستم را تعریف کنید‪.‬‬
‫‪ ‬مشخصه هاي اطالعاتی هر موجودیت را تعریف نمائید‪.‬‬
‫‪ ‬رابطه بین موجودیت ها را مشخص کنید‪.‬‬
‫‪ ‬ترسیم ‪ ERD‬یک عملی است که باید بارها مورد بازنگري و تجدید‬
‫نظر قرار گیرد تا تکمیل شود‪.‬‬
‫‪ ‬ذخیره داده ها )‪ (Data Store‬در ‪ DFD‬به عنوان موجودیت در‬
‫نظر گرفته می شوند‪.‬‬
‫‪145‬‬
‫تمرين‪:‬‬
‫هر سیفارش خریید بیرای ییک فروشینده صیادر میی شیود و هیر فروشینده نییز در‬
‫صورت امکان با سفارشات خرید موافقت می کند‪ .‬سپس اگر نیاز باشد‬
‫فروش یینده تقاض ییای برنام ییه تولی یید ک ییرده و ای یین برنام ییه ارس ییال م ییی شی یود‪.‬‬
‫برنامه تولید برای اجرا به واحد تولید داده می شود و یا اینکه بیه چنید‬
‫قسییمت تفکیییک شییده و بییه پیمانکییاران داده مییی شییود کییه آنهییا بییا توجییه بییه‬
‫حج ییم برنام ییه ه ییای ارج ییاع ش ییده تص ییمیم ب ییه اج یرای برنام ییه م ییی گیرن یید‪ .‬در‬
‫صییورت اجیرا تولیییدات تحویییل انبییار مییی شییود کییه انبییار حتمییا آن را تحویییل‬
‫م ییی گی ییرد‪ .‬واح یید تولی یید نی ییز محص ییوالت خ ییود را ب ییه انب ییار تحوی ییل م ییی ده ید‪.‬‬
‫سییفارش خرییید از انبییار درخواسییت مییی شییود و انبییار مییی توانیید سفارشییات‬
‫خرید را تحویل دهد‪.‬‬
‫با توجه به مطالب بیان شده نمودار ‪ ERD‬را رسم نمائید‪.‬‬
‫‪146‬‬
-----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------147
‫بخش چهارم ‪:‬‬
‫مروري بر روش تحليل و طراحي ساخت يافته ‪SSADM‬‬
‫‪ -1‬چرخه تكاملي ‪SSADM‬‬
‫‪ -2‬امكان سنجي پروژه طراحي ‪MIS‬‬
‫‪ -3‬چگونگي بررس ي وضع موجود سيستم اطالعاتي‬
‫‪ -4‬گزينه ها و راهكارها‬
‫‪ -5‬مشخصات نيازهاي سيستم اطالعاتي‬
‫‪148‬‬
‫روش تحلیل و طراحی ساخت یافته سیستم ها‬
‫‪Structured Systems Analysis and Design Method‬‬
‫تحلیل سیستم ساخت یافته در اواخر سال ‪ 1970‬توسط ‪ DEMARCO‬و‬
‫همکاران توسعه یافت‪ .‬روش تحلیل و طراحی ساخت یافته به عنوان رو ی‬
‫استاندارد براي توسعه سیستم اطالعاتی پروژه هاي دولتی کشور انگلستان‬
‫در مقابل چرخۀ تکاملی سیستم مطرح شده است‪.‬‬
‫‪ SSADM‬یک روش کاربردي و جامع براي طراحی یک سیستم و یا‬
‫نرم افزار می باشد‪ .‬این روش تولید و توسعه یک سیستم را براساس نگرش‬
‫کل به جزء پیش می برد‪ ،‬به این ترتیب که ابتدا یک تصویر کلی از تمام‬
‫احتیاجات و نیازهاي یک سیستم تهیه می کند و سپس قدم به قدم به‬
‫تشریح جزئیات آن نیازها می پردازد و به این ترتیب یک سیستم یا نرم افزار‬
‫پایه ریزي شده و بتدریج تکامل می یابد‪.‬‬
‫‪149‬‬
‫متدولوژی‪ ،‬روش شناس ی‬
‫مجموعه ای از روش ها ‪ ،‬فنون و ابزارهای تحلیل و طراحی سیستم‬
‫که در چهارچوب یک انگاره مدلسازی مبتنی بر یک الگوی‬
‫مفهومی برای ساماندهی روند توسعه سیستم ها به رو ی نظام‬
‫مند به کار می رود‬
‫متدولوژی ‪:‬‬
‫دلیل استفاده از متدولوژی تبدیل ساختار به طراحی و افزایش احتمال موفقیت‬
‫است ‪.‬‬
‫رویه‬
‫متدولوژی‬
‫متد‬
‫‪+‬‬
‫فلسفه‬
‫بعنوان مثال فلسفه ساخت یک سیستم می تواند ‪:‬‬
‫‪ ‬ایجاد بیشترین استفاده از کامپیوتر‬
‫‪ ‬طراحی ارزانتر‬
‫‪ ‬پیاده ساز راحتتر‬
‫‪‬سازگاری بیشتر‬
‫تکنیکها‬
‫ابزارها‬
‫فازها‬
‫متد‬
‫‪+‬‬
‫‪+‬‬
‫‪+‬‬
‫‪+‬‬
‫اساس چرخۀ تکاملی ساخت یافته شامل دو عنصر‬
‫اساس ی زیر می باشد‪.‬‬
‫‪ .1‬متدولوژي ساخت یافته‬
‫‪ .2‬ابزار و تکنیک هاي ساخت یافته‬
‫• نمودار جریان داد ه ها‬
‫• دیکشنري داده ها‬
‫• نمودار ارتباط موجودیت ها‬
‫• نمودار ساختار برنامه‬
‫• ‪...‬‬
‫‪152‬‬
‫متدولوژی ساخت یافته ‪SSADM‬‬
‫فعالیت های انجام شده در ‪: SSADM‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫جمع آوری فرم های پروژه‬
‫تهیه ی سناریو‬
‫تقاضای سیستم مکانیزه‬
‫زمانبندی‬
‫دیاگرام متن ( ‪) Context Diagram‬‬
‫شرح موجودیت های خارجی‬
‫شرح خطوط جریان داده‬
‫دیاگرام گردش مستندات‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫دیاگرام گردش داده ها ( ‪) DFD‬‬
‫خالصه ی عملکرد سیستم‬
‫مشکالت و نیازمندیها‬
‫دیاگرام متن منطقی‬
‫دیاگرام منطقی گردش داده ها‬
‫طراحی پایگاه داده‬
‫طراحی منوی برنامه‬
‫طراحی فرم ورود داده ها‬
‫•‬
‫شرح پردازه های جزئی‬
‫متدولوژی ساخت یافته و مراحل آن‬
‫متدولوژي ساخت یافته با نگر ی متفاوت از متدولوژي هاي سنتی و با‬
‫تکیه بر وجوه منطقی سیستم‪ ،‬به تجزیه و تحلیل‪ ،‬طراحی و اجراي‬
‫سیستم هاي اطالعاتی می پردازد‪ .‬اغلب سیستم هاي اطالعاتی یک‬
‫چرخه حیات و یا تکامل مشترك دارند یعنی تهیه یک برنامه نرم‬
‫افزاري از یک متد خاص پیروي می کند‪.‬‬
‫‪154‬‬
‫مراحل متدولوژی ساخت یافته‬
‫برنامه ریزی استراتژیک‬
‫امکان سنجی‬
‫تحلیل‬
‫طراحی‬
‫پیاده سازی‬
‫نگهداری‬
‫‪155‬‬
‫برنامه ریزی استراتژیک‬
‫گام بنیادین در تولید یک سیستم برنامه ریزي استراتژیک می باشد‪ ،‬به این‬
‫معنی که هر سازمان براي قسمتهاي مختلف خود اولویت بندي دارد یعنی‬
‫اینکه ممکن است قسمتی از یک سازمان کاري را انجام می دهد که براي‬
‫ادامه روند کار سازمان حیاتی است و تا کار آن قسمت انجام نشود کار‬
‫بقیه قسمت ها انجام نمی شود‪ .‬بنابراین سازمان براساس این اولویت‬
‫ها تشخیص می دهد که کدام قسمت باید مکانیزه شود تا روند انجام‬
‫کار در آن بخش سریعتر انجام گردد و بازدهی کارها باال برود‪ ،‬این‬
‫تشخیص و اولویت بندي را از سوي سازمان‪ ،‬برنامه ریزي استراتژیک می‬
‫گویند‪ .‬سازمان براساس این برنامه ریزي‪ ،‬براي قسمتهاي مختلف خود‬
‫درصدد تهیه نرم افزارها و یا بهینه کردن آن قسمت ها بر می آید‪.‬‬
‫‪156‬‬
‫امکان سنجی‬
‫بعد از اینکه هر سازمان برنامه ریزي استراتژیک خود را انجام داد و درصدد‬
‫تهیه یک سیستم و یا نرم افزار برآمد‪ ،‬به مرحله امکان سنجی می رسد‪ .‬در‬
‫مرحله امکان سنجی که در واقع اولین مرحله عملی در تهیه یک نرم افزار‬
‫است‪ ،‬به شناسایی امکانات و محدویت هاي موجود می پرداخته و با‬
‫توجه به امکانات و محدودیت ها‪ ،‬نحوه تهیه سیستم اطالعاتی را از‬
‫جهت هزینه و امکانات فنی مورد سنجش قرار داده تا قبل از صرف هر‬
‫نوع انرژي و زمان‪ ،‬امکان پذیر بودن آن احراز گردد‪ .‬در واقع انصراف از‬
‫انجام پروژه باید در مرحله امکان سنجی صورت بگیرد‪ .‬در مرحله امکان‬
‫که‬
‫است‬
‫سنجی‬
‫می توان در پروژه هاي نرم افزاري یک قیمت پایه براي انجام برنامه‬
‫‪.‬‬
‫نمود‬
‫تعیین‬
‫‪157‬‬
‫تحلیل سیستم‬
‫پس از اینکه امکان انجام پروژه و دستیابی به سیستم هاي اطالعاتی‬
‫احراز گردید‪ ،‬مرحله تشخیص و تعیین نیازهاي کاربران آغاز می‬
‫گردد‪ .‬در این مرحله است که نگرش کلی از سیستم و نیازهاي آن‬
‫براي یک طراح سیستم ایجاد می گردد ولی مسئله اصلی این است‬
‫که این سیستم یا برنامه باید به چه نیازهایی پاسخ بدهد‪ ،‬به‬
‫عبارت دیگر در مرحله تحلیل نکته اصلی این است که سیستم چه‬
‫چیزي را باید تحویل دهد‪.‬‬
‫‪158‬‬
‫طراحی سیستم‬
‫پس از مرحله تحلیل و بر اساس شناسایی دقیق و کامل نیازهاي‬
‫کاربران‪ ،‬شکل سیستم و نحوه پاسخگویی به نیازهاي شناخته شده‬
‫طرح ریزي می شود‪ .‬به ترتیبی که نیازهاي کاربران‪ ،‬در قالب‬
‫مشخصات سیستم شکل می گیرد‪ .‬یعنی اینکه برنامه را طوري‬
‫طراحی کنید که هر کدام از نیازهاي کاربران را در هر قسمت از‬
‫برنامه مرتفع شود‪ .‬از جمله نیاز به ورود اطالعات‪ ،‬نیاز به جستجوي‬
‫اطالعات‪ ،‬نیاز به نمایش اطالعات و‪...‬‬
‫‪159‬‬
‫پیاده سازی سیستم‬
‫طراحی سیستم‪ ،‬در واقع برنامه را ساخته‪ ،‬آزمایش کرده و ارائه‬
‫می دهد‪ .‬پس از طراحی سیستم‪ ،‬به مرحله پیاده سازي آن‬
‫می رسید‪ ،‬در این مرحله ضمن نهایی شدن برنامه‪ ،‬نصب برنامه و‬
‫سخت افزار مورد نیاز با آن باید به آموزش کاربران جهت آشنایی با‬
‫سیستم جدید پرداخته شود‪.‬‬
‫‪160‬‬
‫نگهداری از سیستم‬
‫بعد از پیاده سازي به مرحله بهره برداري از سیستم می رسید‪ .‬در دوره‬
‫اي که بهره برداري از سیستم صورت می پذیرد‪ ،‬فرآیند نگهداري نیز‬
‫تحقق می یابد‪ ،‬به این معنی که در بخش نگهداري در صورت بروز‬
‫مشکالت جدید براي سیستم و تغییر نیازهاي کاربران‪ ،‬سیستم یا نرم‬
‫افزار باید به روز آوري شود‪ .‬به نحوي که ‪70‬درصد از مجموع‬
‫کارهایی که طی این چرخه حیات یا تولید سیستم انجام می شود‪،‬‬
‫به نگهداري سیستم تخصیص می یابد‪.‬‬
‫‪161‬‬
‫فراگیری چرخه حیات روش ‪SSADM‬‬
‫روش تحلیل و طراحی ساخت یافته ‪ SSADM‬چرخه حیات سیستم را از امکان‬
‫سنجی تا نگهداری فرا می گیرد‪ .‬که این چرخه حیات بصورت زیر است‪.‬‬
‫‪162‬‬
‫دیدگاه های روش تحلیل و طراحی ساخت یافته ‪SSADM‬‬
‫این روش از سه دیدگاه متفاوت ولی وابسته به یکدیگر برخوردار است‪:‬‬
‫الف‪ -‬دیدگاه کارکردی یا پردازش‪:‬‬
‫• داده ها در سیستم حرکت می کنند‪.‬‬
‫• کارکردهای مشخص ی در سیستم ایجاد می شوند که داده ها را‬
‫مورد پردازش قرار می دهند‪.‬‬
‫ب‪ -‬دیدگاه داده ها‪:‬‬
‫هدف از یک سیستم اطالعاتی‪ ،‬جمع آوری و ذخیره سازی داده‬
‫های اطالعاتی یک سازمان و انجام پردازش الزم بر روی این‬
‫داده ها می باشد‪.‬‬
‫‪163‬‬
‫انواع دیدگاه ها در ‪: SSADM‬‬
‫دیدگاه فرآیندی‬
‫دیدگاه داده ها‬
‫دیدگاه رویدادها‬
‫داده ها در سیستم حرکت می کنند و مورد پردازش‬
‫قرارمی گیرند‬
‫داده ها بعنوان قلب سیستم جمع آوری می شوند‬
‫پایداری بیشتر‬
‫تأثیرزمان درسیستم را درنظرمی گیرد‬
‫انعطاف پذیری بیشتر‬
‫سه تکنیک عمده بر حسب سه دیدگاه عبارتند از ‪:‬‬
‫‪ ‬مدلسازی جریان داده ها ( دید پردازش ی )‬
‫دیاگرام جریان داده ها)‪(DFD‬‬
‫‪ ‬مدلسازی منطقی داده ها ( دید داده ها )‬
‫ساختار منطقی داده ها‬
‫دیاگرام ارتباط بین موجودیتها‬
‫‪ ‬مدلسازی رفتار موجودیتها ( دید رویدادها )‬
‫دیاگرام تاریخ عمر موجودیت‬
‫دیاگرام ارتباط مؤثر‬
‫روش تحلیل و طراحی سیستم های ساخت یافته ‪ SSADM‬از سه‬
‫رکن اصلی تشکیل می شود‪:‬‬
‫‪ .1‬ساختار یا چارچوب پروژه‬
‫‪ .2‬مجموعه ای از فنون استاندارد برای تحلیل‬
‫‪ .3‬محصوالت هر یک از فنون استاندارد‬
‫‪166‬‬
‫دیاگرام تاریخ عمر موجودیتها‬
‫شماره حساب مشتری‬
‫حذف‬
‫تراکنش‬
‫تغییر آدرس‬
‫ثبت‬
‫خرید‬
‫شخص ی‬
‫پیشکش‬
‫سلسله مراتب ساختار تحلیل و طراحی سیستم های ساخت یافته‬
‫‪SSADM‬‬
‫ماژول‬
‫ماژول‬
‫مرحله‬
‫مرحله‬
‫گام‬
‫گام‬
‫‪7‬‬
‫‪6‬‬
‫ماژول‬
‫مرحله‬
‫‪.....‬‬
‫وظیفه‬
‫مرحله‬
‫گام‬
‫گام‬
‫‪2‬‬
‫‪1‬‬
‫وظیفه‬
‫وظیفه‬
‫هر ماژول‪ ،‬نمایانگر یک بخش اصلی است که معموال به یک یا دو‬
‫مرحله شکسته می شود‪ .‬در صورت دو مرحله ای بودن هر ماژول‪،‬‬
‫یک مرحله به تحلیل و طراحی و مرحله دیگر به تصمیم گیری پروژه‬
‫اختصاص دارد‪.‬‬
‫هر مرحله از دو تا هفت گام تشکیل می شود که چارچوب الزم برای به‬
‫کارگیری و کنترل فنون را فراهم می آورد‪ ،‬وظایفی که در هر گام‬
‫انجام می شود نحوه استفاده از فنون را تعریف‬
‫می کند و استاندارد خروجی های هر گام را مشخص می سازد‪.‬‬
‫‪169‬‬
‫تفکیک ماژول ها و مراحل تحلیل و طراحی ساخت یافته‬
‫‪SSADM‬‬
‫‪170‬‬
‫الگوریتم مرحله امکان سنجی‬
‫آمادگی برای امکان سنجی‬
‫محدوده پروژه‬
‫برنامه های پروژه‬
‫تعریف مشکالت‬
‫تدوین مشکالت‬
‫انتخاب گزینه امکان‬
‫سنجی‬
‫گزینه امکان سنجی‬
‫جمع بندی گزارشات‬
‫امکان سنجی‬
‫‪171‬‬
‫گام ‪ 1‬امکان سنجی‪ :‬آمادگی برای امکان سنجی‬
‫این گام از دو شاخه تشکیل شده است‪:‬‬
‫الف‪ :‬تعیین محدوده مشکالت‬
‫ب‪ :‬برنامه ریزی برای چگونگی بررس ی های بعدی‬
‫یکی از راههای تعیین محدوده پروژه و تشخیص پیچیدگی های آن‪ ،‬آشنایی‬
‫با خدمات جاری قلمرو تحت بررس ی است‪ .‬این مهم با به کارگیری دو‬
‫فن از مهم ترین و قوی ترین فنون ‪ SSADM‬یعنی مدل سازی‬
‫جریان داده ها (ترسیم مشخصات کلی کارکرد سیستم) و مدل سازی‬
‫داده های منطقی انجام می پذیرد‪.‬‬
‫‪172‬‬
‫بعض ی از فنون اصلی برای شناخت محدوده پروژه‬
‫مصاحبه ها‪ :‬به عنوان ستون فقرات عملیات شناخت مورد توجه‬
‫قرار می گیرد به نحوی که سایر فنون شناخت نمی تواند جایگزین‬
‫آن شود‪.‬‬
‫بررس ی مستندات‪ :‬بررس ی اصول و ضوابط حاکم بر کار نقطه شروع‬
‫وضع موجود است‪.‬‬
‫پرسشنامه‪ :‬صرفا به لحاظ آغاز فرآیند شناخت ارزش دارد‪.‬‬
‫مطالعات میدانی و نظارت بر عملکرد‪ :‬این نوع مطالعات بسیار وقت‬
‫گیر و خسته کننده است ولی بعض ی مواقع راه دیگری برای دستیابی‬
‫به جزئیات وضع موجود وجود ندارد‪.‬‬
‫‪173‬‬
‫گام ‪ 2‬امکان سنجی‪ :‬تعریف مشکالت‬
‫هدف اصلی این گام بررس ی نیازهای سیستم جدید تا میزانی است که‬
‫افراد تیم را قادر سازد تا تعریفی از راه حل های امکان پذیر ارائه‬
‫دهند و میزان کارایی آن ها را در مقایسه با سیستم های موجود‬
‫ارزیابی کنند‪ .‬برای این منظور‪ ،‬همان برنامه اجرا شده در گام‬
‫آمادگی امکان سنجی را ادامه می دهید و هر کجا که الزم باشد‬
‫جزئیات بیشتری به آن اضافه كرده تا مدل های کلی مشابهی برای‬
‫سیستم مورد نیاز ایجاد شود‪.‬‬
‫‪174‬‬
‫گام ‪ 3‬امکان سنجی‪ :‬انتخاب گزینه های امکان سنجی‬
‫هدف اصلی این گام‪ ،‬تعیین بهترین گزینه با در نظر گرفتن شرایط کاری‬
‫برای حل مشکالت تعریف شده در فهرست تعریف مشکالت و ارائه‬
‫انتخابی‬
‫گزینه‬
‫اجرای‬
‫برای‬
‫کلی‬
‫ای‬
‫برنامه‬
‫می باشد‪.‬‬
‫گزینه امکان پذیری در واقع ترکیبی از دو محصول استاندارد‬
‫‪ SSADM‬می باشد‪:‬‬
‫‪ .1‬گزینه منتخب سیستم‬
‫‪ .2‬گزینه فنی سیستم‬
‫‪175‬‬
‫‪ .1‬گزینه منتخب سیستم‪:‬‬
‫محدوده کارکردی راه حل پیشنهادی را تعریف می نماید‪ .‬گزینه منتخب‬
‫سیستم در پایه ای ترین سطح خود‪ ،‬شامل مجموعه ای از مدخل‬
‫های فهرست نیازهایی می باشد که به وسیله راه حل پیشنهادی‬
‫برآورده شده اند‪ .‬گزینه ها و راهکارها باید کمترین نیازی را که توسط‬
‫کاربر تعیین می شود تامین نمایند (یعنی نیازهایی که اولویت آنها اصلی‬
‫است)‪.‬‬
‫‪ .2‬گزینه فنی سیستم‪:‬‬
‫محیط فنی امکان پذیر برای پیاده سازی سیستم را تعریف‬
‫می کند‪ .‬گزینه مذکور شامل توصیف سخت افزار و نرم افزار‪،‬‬
‫امکانات پشتیبانی فنی‪ ،‬توزیع سیستم و ابزار ایجاد و توسعه‬
‫می باشد‪.‬‬
‫‪176‬‬
‫به منظور حل مشکالت کاری‪ ،‬در ابتدا‬
‫گزینه های کاری و فنی متعدد را طرح‬
‫ریزی می نماییم‪ .‬سپس با ترکیب هر دو‬
‫گزینه با یکدیگر‪ ،‬گزینه های مرکب را‬
‫تشکیل می دهیم که بدین ترتیب تعداد‬
‫گزینه ها کمتر و مشروح تر می گردند‪.‬‬
‫سپس گزینه ها را به مدیریت سازمان‬
‫ارائه می دهیم و مدیریت یکی از آنها را به‬
‫عنوان راه حل مبنا برای ادامه پروژه‬
‫انتخاب‬
‫می نماید‪.‬‬
‫تولید طرح کلی گزینه های کاری سیستم‬
‫تولید طرح کلی گزینه های فنی سیستم‬
‫تولید گزینه های مرکب‬
‫کاهش بسط گزینه های مرکب‬
‫تولید طرح کلی برنامه های پروژه‬
‫انتخاب گزینه ها‬
‫ایجاد یک برنامه محلی‬
‫‪177‬‬
‫گام ‪ 4‬امکان سنجی‪ :‬جمع بندی گزارش امکان سنجی‬
‫هدف این گام اطمینان یافتن در مورد یکپارچگی امکان سنجی و انتشار‬
‫نتایج آن می باشد‪ .‬بیشتر مراحل ‪ SSADM‬با یک گام جمع بندی‬
‫خاتمه می یابد‪ .‬طی این گام جمع بندی محصوالت هر مرحله از نظر‬
‫کامل بودن و یکپارچگی بررس ی و به هنگام می شوند‪.‬‬
‫سپس نتایج هر مرحله در قالب یک گزارش رسمی که شامل مجموعه‬
‫ای از مدل های ‪ SSADM‬و مستندات می باشد‪ ،‬انتشار می یابد‪.‬‬
‫‪178‬‬
‫گزارش امکان سنجی شامل موارد زیر می باشد‪:‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪.4‬‬
‫‪.5‬‬
‫تشریح وضع موجود‬
‫فهرست تعریف مشکالت‬
‫فهرست نیازها‬
‫گزینه امکان پذیری انتخاب شده‬
‫برنامه عمل‬
‫به منظور آغاز بررس ی ‪ SSADM‬از گزارش امکان سنجی استفاده‬
‫می گردد و بنابراین به امضاء نهایی کاربران و مدیریت سیستم های‬
‫اطالعاتی رسانیده خواهد شد‪.‬‬
‫‪179‬‬
‫بررس ی وضع موجود‬
‫معرفی ماژول تحلیل نیازها‬
‫ماژول تحلیل نیازها از دو مرحله تشکیل یافته است و به طور متوالی‬
‫اجرا می شود‪:‬‬
‫مرحله ‪ :1‬بررس ی وضع موجود‬
‫مرحله ‪ :2‬گزینه ها و راهکارهای سیستم‬
‫هدف کلی این ماژول‪ ،‬رسیدن به درک کاملی از نیازهای سیستم جدید‪،‬‬
‫پایه ریزی قطعی سایر قسمت های پروژه و میزان عملی بودن آن‬
‫است‪.‬‬
‫‪180‬‬
‫مرحله ‪ -1‬بررس ی وضع موجود‬
‫در مرحله ‪ ،1‬یک بار دیگر از تحلیل سیستم های موجود (چنانچه قبال‬
‫وجود داشته باشد) برای تعریف نیازهای سیستم جدید استفاده‬
‫می شود‪ .‬در اواخر این مرحله با برگرداندن مدل فیزیکی جریان داده‬
‫های سیستم موجود به مدل منطقی جریان داده ها‪ ،‬کارکردهای‬
‫تر‬
‫روشن‬
‫را‬
‫موجود‬
‫سیستم‬
‫اصلی‬
‫نموده (فرآیندی که به نام ”به منطق درآوری“ نامیده‬
‫می شود) و همچنین برای تولید ساختارهای منطقی داده ها و‬
‫نمودارهای جریان داده ها رویکرد سخت تری از رویکردی که در‬
‫امکان سنجی اتخاذ گردید‪ ،‬انتخاب مي شود‪.‬‬
‫‪181‬‬
‫گام ‪ :2‬بررسی و تعریف نیازها‬
‫در این گام فهرست نیازهاي بدست آمده از مرحله امکان سنجی‪ ،‬بسط‬
‫داده می شود تا بیانیه ای جامع و تفصیلی از نیازهای سیستم‬
‫بوجود آید‪ .‬این گام به موازات گام های بررس ی پردازش جاری و‬
‫بررس ی داده های جاری انجام می شود‪ .‬که بر مبنای مشکالت و‬
‫کمبودهای موجود‪ ،‬ورودی های آن را فراهم‬
‫می آورد‪.‬‬
‫‪182‬‬
‫گام ‪ :3‬بررس ی پردازش جاری‬
‫در این گام مدل فیزیکی جریان داده های جاری از مرحله امکان سنجی یا‬
‫گام پایه ریزی چهارچوب تحلیل به سطحی از تجزیه می رسد که در‬
‫آن همه پردازش های مقدماتی تعیین و تشریح شده باشد به نحوی‬
‫که توصیف نوشتاری جریان های داده ها و موجودیت های بیرونی‬
‫تولید و فهرست داده ها به منظور توصیف محتوای مخازن داده ها‬
‫ایجاد می گردد‪.‬‬
‫‪183‬‬
‫گام‪ :4‬بررس ی داده های جاری‬
‫ساختار کلی منطقی داده های وضع موجود مرور و بسط داده‬
‫می شود و تحلیل سخت تری از تعریف موجودیت ها و رابطه های‬
‫آن ها به انجام می رسد‪.‬‬
‫خالصه وظایف این گام عبارتند از‪:‬‬
‫‪ .1‬مرور و اصالح شکل کلی مدل منطقی داده ها‬
‫‪ .2‬تعریف خصیصه های اصلی موجودیت‬
‫‪ .3‬بررس ی این موضوع که مدل منطقی داده ها‪ ،‬پردازش های‬
‫مقدماتی مدل جریان داده ها را پشتیبانی کند‪.‬‬
‫‪ .4‬ثبت هر گونه داده های جدید مورد نیاز یا مشکالت مربوط به‬
‫داده های موجود در فهرست نیازها‬
‫‪184‬‬
‫گام ‪ :5‬استنتاج دیدگاه منطقی خدمات جاری‬
‫مدل فیزیکی جریان داده های سیستم موجود به مدل منطقی خدمات‬
‫جاری تبدیل می شود‪.‬‬
‫وظایف این گام شامل موارد زیر می شود‪:‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪.4‬‬
‫‪.5‬‬
‫برچیدن نمودهای فیزیکی از نمودار جریان داده سطح پائین از مدل‬
‫فیزیکی جریان داده جاری مربوط به گام بررس ی پردازش جاری‬
‫منطقی کردن مخازن داده‬
‫منطقی کردن پردازش های نمودارهای جریان داده سطح تحتانی و‬
‫ساختن مجدد سلسله مراتب از جزء به کل‪.‬‬
‫اعتبار سنجی مدل منطقی جریان داده ها‪.‬‬
‫به هنگام رسانی فهرست نیازها پس از اضافه کردن محدودیت های‬
‫فیزیکی که هنوز در سیستم جدید کاربرد دارند‪.‬‬
‫‪185‬‬
‫گام ‪ :6‬جمع بندی نتایج بررس ی ها‬
‫اینک محصوالت اصلی مرحله اول امکان ارائه توصیف کاملی از‬
‫خدمات مورد نیاز در قالبی منطقی را فراهم می آورد‪ .‬این محصوالت‬
‫با کاربران مرور و بررس ی می گردند تا به عنوان ورودی مرحله دوم‬
‫مورد استفاده قرار گیرد‪.‬‬
‫محصوالتی که باید کنترل و بررس ی شوند عبارتند از‪:‬‬
‫‪ -2‬مدل منطقی جریان داده‬
‫‪ -1‬نمودار زمینه ای‬
‫‪ -3‬مدل منطقی داده های محیط جاری‬
‫‪ -4‬عطف متقابل مخزن منطقی داده ‪ /‬موجودیت‬
‫‪ -5‬فهرست نیازها‬
‫‪ -6‬فهرست کاربر‬
‫‪186‬‬
‫گزینه ها و راهکارها‬
‫مرحله‪ 2‬گزینه ها و راهکارها‬
‫هدف این مرحله تائید کارکرهای سیستم جدید است‪ .‬در مرحله ‪1‬‬
‫توصیف تفصیلی از مشکالت کار در قالب مدل های سیستم جاری و‬
‫صورت جامعی از نیازهای کاربران تهیه شد‪ .‬وظیفه ما در مرحله ‪ 2‬ایجاد‬
‫راه حل هایی امکان پذیر برای مشکالت کار و ارزیابی اثرات و مانع آن‬
‫می باشد‪ .‬ناگزیر گزینه هایی متعددی وجود دارد که می تواند تامین‬
‫کننده مجموعه نیازهای کاربران باشد‪ .‬انتخاب نهایی با ارزیابی‬
‫شایستگی ها و قابلیت های گزینه های مختلف و اتخاذ گزینه هایی که‬
‫نزدیک ترین تطابق را با نیازهای مطلوب دارد صورت می گیرد‪ .‬این‬
‫مستلزم صرف نظر نمودن از برخی نیازهای کم اهمیت تر که به لحاظ‬
‫هزینه ای توجیه پذیر نیستند‪ ،‬می باشد‪.‬‬
‫‪187‬‬
‫الگوریتم مرحله گزینه ها و راهکارها‬
‫بررس ی محیط جاری‬
‫توصیف خدمات جاری‬
‫فهرست نیازها‬
‫تعریف گزینه ها و‬
‫راهکارها‬
‫گزینه ها و راهکارها‬
‫انتخاب گزینه مناسب‬
‫گزینه انتخاب شده‬
‫سیستم‬
‫تعریف نیازها‬
‫‪188‬‬
‫گام ‪ 1‬مرحله گزینه ها و راهکارها‪ :‬تعریف گزینه ها و راهکارها‬
‫تعدادی گزینه ها و راهکارها طراحی می شوند که هر کدام تامین کننده‬
‫حداقل نیازهای سیستم می باشند‪ .‬در این تعداد حدود ‪ 2‬یا ‪ 3‬گزینه‬
‫انتخاب می گردد تا با تفصیل بیشتری به کمک تحلیل ارتباط هزینه‬
‫با مزایا و تحلیل آثار آن بر محیط کاربر توجیه گردد‪.‬‬
‫‪189‬‬
‫گام ‪ 2‬مرحله گزینه ها و راهکارها‪ :‬انتخاب گزینه‬
‫گزینه ها و راهکارها به هیات مدیره پروژه ارائه می شود و یک گزینه‬
‫واحد انتخاب می گردد‪ .‬این گزینه نهایی مستند‬
‫می شود و به عنوان مبنایی برای مشخصات سیستم در مرحله‬
‫مشخصات نیازها (مرحله ‪ )3‬تایید می گردد‪.‬‬
‫هیات مدیره پروژه ممکن است هیچکدام از گزینه ها را قابل قبول‬
‫تشخیص ندهد و قبل از انتخاب‪ ،‬درخواست تعریف گزینه های‬
‫جدید را بنماید‪ .‬در این حالت مجبور می شویم گام های ‪ 1‬و ‪2‬‬
‫مرحله گزینه ها و راهکارها را تکرار نماییم‪.‬‬
‫‪190‬‬
‫مشخصات نیازها‬
‫مرحله ‪ -3‬تعریف نیازها‬
‫هدف در این مرحله تولید مشخصات اساس ی و تفصیلی نیازهای‬
‫سیستم می باشد‪ .‬مشخصات نیازها از مرحله بررس ی نیازهای جاری‬
‫و گزینه منتخب از مرحله گزینه ها و راهکارها‪،‬‬
‫ورودی های مشخصات نیازها را فراهم می آورند‪ ،‬اما به خودی‬
‫خود نمی توانند سیستم جدید را در سطح تفصیل مورد نیاز‬
‫مشخص سازند‪ .‬تا قبل از پایان این مرحله حرکت به سمت حوزه‬
‫طراحی سیستم را آغاز نموده ایم‪ .‬حوزه ای که در آن شکل کلی و‬
‫ساختار سیستم جدید به طور کامل مستند خواهد شد‪ .‬هدف ما‬
‫فراهم آوردن جزئیات کافی برای طراحی منطقی دیالوگ ها و پردازش‬
‫های درونی سیستم جدید می باشد‪.‬‬
‫‪191‬‬
‫گام ‪ 1‬مرحله مشخصات نیازها‪ :‬تعریف پردازش سیستم مورد نیاز‬
‫در این گام مدل منطقی جریان داده ها تهیه شده در مرحله بررس ی‬
‫وضع موجود‪ ،‬به هنگام می شود و گسترش می یابد تا تاثیرات نا ی‬
‫از گزینه انتخاب شده را منعکس نماید‪ .‬این مستلزم انعکاس‬
‫نیازهای پرداز ی مندرج در فهرست نیازها در نمودارهای جریان داده‬
‫ها می باشد‪.‬‬
‫‪192‬‬
‫گام ‪ 2‬مرحله مشخصات نیازها‪ :‬ایجاد مدل داده های مورد نیاز‬
‫در این گام مدل منطقی داده های جاری نیز با استفاده از فهرست‬
‫نیازها به هنگام شده و توصیف موجودیت ها نیز کامل‬
‫گرديده و مدل منطقی داده ها در مقابل مدل جریان داده های مورد‬
‫نیاز‪ ،‬اعتباربخش ی می شود‪.‬‬
‫‪193‬‬
‫گام ‪ 3‬مرحله مشخصات نیازها‪ :‬استنتاج کارکردهای سیستم‬
‫در این گام از مدل جریان داده های سیستم بهینه برای تنظیم مجموعه‬
‫اولیه کارکردها استفاده می شود‪ .‬از تعریف کارکرد برای مشخص‬
‫ساختن واحدهای پرداز ی که در پاسخ به رویدادهای دنیای واقعی‬
‫اندازی‬
‫انجام‬
‫جو‬
‫و‬
‫پرس‬
‫راه‬
‫یا‬
‫می شوند و تعریف ساختار واسط های سیستم با کاربر استفاده می‬
‫شود‪.‬‬
‫‪194‬‬
‫گام ‪ 4‬مرحله مشخصات نیازها‪ :‬گسترش مدل داده های مورد نیاز‬
‫در این گام از فن تحلیل داده های رابطه ای برای تحلیل داده های‬
‫ورودی و خروجی سیستم استفاده می شود‪ .‬مدل های داده های‬
‫رابطه ای به دست آمده برای اعتبارسنجی و گسترش مدل منطقی‬
‫داده ها به کار می رود‪.‬‬
‫‪195‬‬
‫گام ‪ 5‬مرحله مشخصات نیازها‪ :‬نمونه سازی سیستم‬
‫‪ SSADM‬از نمونه سازی برای حصول اطمینان از درک صحیح‬
‫نیازهای کاربران استفاده می کند‪ .‬دیالوگ های مهم سیستم نمونه‬
‫سازی می شوند و نتایج بررس ی به عنوان بازخورد در تعریف کارکرد‬
‫و فهرست نیازها مورد استفاده قرار می گیرد‪.‬‬
‫‪196‬‬
‫گام ‪ 6‬مرحله مشخصات نیازها‪ :‬ایجاد مشخصه پردازش ی‬
‫در این گام فن مدل سازی موجودیت رویداد برای مشخص ساختن‬
‫جزئیات پردازش های به هنگام رسانی و مدل سازی اثرات آن روی‬
‫مدل منطقی داده ها مورد استفاده قرار می گیرد‪SSADM .‬‬
‫پردازش را به عنوان مجموعه ای از پاسخ ها به رویدادهای دنیای‬
‫واقعی می نگرد‪ .‬رویدادها و تاثیرات آنها با دقت بررس ی می گردند‪،‬‬
‫این بررس ی منجر به به هنگام رسانی مدل منطقی داده ها‪ ،‬تعریف‬
‫کارکردها و شفاف شدن پردازش هایی می گردد که صرفا طرح کلی‬
‫آنها در مدل جریان داده ها آمده است‪.‬‬
‫‪197‬‬
‫گام ‪ 7‬مرحله مشخصات نیازها‪ :‬تایید اهداف سیستم‬
‫مشخصات نیازها مرور می شوند تا اطمینان حاصل شود که همه‬
‫مبانی موجود در فهرست نیازها را به طور کامل تامین نماید‪ .‬توجه‬
‫خاص نسبت به تامین نیازهای غیر کارکردی نیز باید مبذول گردد‪.‬‬
‫‪198‬‬
‫گام ‪ 8‬مرحله مشخصات نیازها‪ :‬جمع بندی مشخصات نیازها‬
‫محصوالت مرحله مشخصات نیازها‪ ،‬از نظر کامل بودن و یکپارچگی‬
‫بررس ی می شوند و مشخصات سیستم بهینه یا مورد نیاز تعیین می‬
‫گردند‪.‬‬
‫‪199‬‬
‫ماژول ‪ :4‬مشخصات سیستم منطقی‬
‫مرحله ‪ :4‬گزینه های فنی سیستم (نوع سخت افزار و سکوی نرم‬
‫افزاری که شامل تعریف گزینه های فنی سیستم و انتخاب‬
‫گزینه فنی می شود‪).‬‬
‫مرحله ‪ :5‬طراحی منطقی (طراحی جزئیات منطقی برنامه ها)‬
‫این دو مرحله بصورت موازی انجام می شود اما در مرحله چهارم‬
‫محیط تعریف می شود و گزینه های فنی به سمت معیارهای‬
‫پیاده سازی گرایش می یابد‪ .‬محدودیت ها شناخته و اعمال می‬
‫گردند و با مدیران و مشتریان توافق به عمل می آید‬
‫‪200‬‬
‫در مرحله ‪ ،5‬چه چیزی کارها و نه چگونگی آنها مورد توجه قرار‬
‫می گیرد‪ .‬ساختارها و قواعد تعریف و محاوره ها مشخص‬
‫می شود‪ .‬فرآیندهای به هنگام سازی تعیین‬
‫می شوند‪ .‬تضمین کمال و سازگاری مدلها صورت‬
‫می گیرد‪ .‬درگیر کردن کاربران از طریق توسعه انجام‬
‫می شود و زیر سازی جهت طراحی فیزیکی در نظر گرفته می‬
‫شود‪.‬‬
‫‪201‬‬
‫ماژول ‪ :5‬طراحی فیزیکی‬
‫طراحی فیزیکی با استفاده از طراحی منطقی و فنی ساختار پایگاه‬
‫داده و مشخصات برنامه های مورد نیاز طراحی می گردد‪.‬‬
‫مشخصات ورودی‪/‬خروجی و رویه های برنامه با توجه به‬
‫ویژگیهای زبان و محیط فیزیکی انتخاب می شود‪.‬‬
‫نقش کردن توابع منطقی به توابع فیزیکی در این مرحله است‪.‬‬
‫بهینه سازی طرح فیزیکی انجام می شود‪.‬‬
‫‪202‬‬
‫فنون استاندارد ‪SSADM‬‬
‫مدل‬
‫تکنیک‬
‫بخش پنجم ‪ :‬طراحي نرم افزار سيستم‬
‫‪ .1‬استراتژیهاي طراحي نرم افزار‬
‫‪ .2‬چهار نوع اشتباه متداول در طراحي سيستم‬
‫‪ .3‬قواعد طراحي‬
‫‪ .4‬فعاليتهاي مرحله طراحي‬
‫‪ .5‬آشنايي با مفاهيم و تبديل ‪ ERD‬به پايگاه داده‬
‫‪ .6‬طراحي ديالوگهاي كاربران (‪)Interface‬‬
‫‪ .7‬انواع فايلها و شيوه هاي سازماندهي و دستيابي به آنها‬
‫‪ .8‬انواع فرمها و صفحات نمايش‬
‫‪ .9‬طراحي منوهاي برنامه‬
‫‪ .10‬تعيین مشخصات فیزيكي جداول و فايلها‬
‫‪ .11‬مستند سازي محتواي سيستم‬
‫‪ .12‬طبقه بندي اطالعات و عملكرد سيستم‬
‫‪ .13‬ليست گزارشات سيستم جديد‬
‫‪204‬‬
‫استراتژی های طراحی نرم افزار‬
‫‪ .1‬استفاده از منابع داخل سازمان )‪(in-source‬‬
‫در این صورت واحد انفورماتیک یا سیستم اطالعاتی در داخل سازمان‬
‫مسئول اجرای این سیستم خواهد بود‪.‬‬
‫‪ .2‬استفاده از منابع خارجی سازمان (‪)out-source‬‬
‫در صورتی که واحد انفورماتیک یا سیستم اطالعاتی توانايي اجرای‬
‫سیستم را نداشته باشد اجرای سیستم را به بیرون سازمان واگذار‬
‫میکنیم‪ .‬در این صورت باید مدل منطقی سیستم را ایجاد نموده و‬
‫مشخصات کلی سیستم را در اختیار داشته باشیم سپس به کمک‬
‫پروپزال پیشنهاد برای درخواست پروژه‪ ،‬بتوانیم سیستم اطالعاتی‬
‫شرکت را به مناقصه بگذاریم‪ .‬بنابراین اگر نمی دانیم که چه‬
‫می خواهیم هیچوقت نباید از این حالت استفاده کنیم ‪.‬‬
‫‪205‬‬
‫‪ .3‬استفاده از منابع داخلی و خارجی سازمان (‪ )self-source‬در‬
‫این صورت که ترکیب دو حالت فوق است قسمتی از کار داخل‬
‫سازمان و قسمتی دیگر در بیرون سازمان انجام شود‬
‫تذکر‪ :‬تحلیل به صورت مفهومی (بهمراه تکنولوژی ) می باشد‪ .‬مثال در‬
‫طراحی مفهومی می گوئیم فالن اطالعات بین دو بخش یا دو نفر رد‬
‫و بدل می شود ولی در طراحی فیزیکی می گوییم این اطالعات به‬
‫کمک ایمیل یا نامه رد و بدل می شود ‪.‬‬
‫‪206‬‬
‫جدول مقایسه مزایا و معایب روشهای طراحی نرم افزار‬
‫استراتژی ها‬
‫ایجاد سیستم در داخل‬
‫خرید بسته نرم افزاری‬
‫ارجاع سیستم به بیرون‬
‫ماهیت سیستم مورد نیاز‬
‫(عمومی‪ ،‬تخصص ی)‬
‫نوع سیستم خاص‪ ،‬یگانه و‬
‫تخصص ی‬
‫مشابه این سیستم وجود‬
‫داشته و دارای حالت عمومی‬
‫است‪.‬‬
‫سیستم خاص نیست و بطور‬
‫عمومی هم وجود ندارد و‬
‫هسته اصلی کار معلوم نیست‪.‬‬
‫تجربه داخل شرکت‬
‫تجربه طراحی سیستم و‬
‫دانش فنی نوع کار وجود دارد‪.‬‬
‫تجربه و دانش فنی نوع کار در‬
‫شرکت وجود دارد‪.‬‬
‫تجربه سیستم و دانش کار‬
‫موجود نیست‪( .‬آموزش‬
‫فراموش نشود‪).‬‬
‫میزان نیاز به مهارت های‬
‫پروژه ای (برای یکبار یا‬
‫همیشه)‬
‫ایجاد مهارت های طراحی و‬
‫اجرای سیستم به خاطر‬
‫تکرارهای بعدی مهم است‪.‬‬
‫داشتن مهارت زیاد حیاتی‬
‫نیست‪.‬‬
‫داشتن مهارتها الزم نیست و‬
‫پروژه حالت استراتژیک دارد‪.‬‬
‫میزان تجربه مدیریت پروژه‬
‫یک مدیر مجرب و با سابقه‬
‫کار مرتبط‪ ،‬در اختیار است‪.‬‬
‫مدیر هماهنگ کننده موجود‬
‫است‪.‬‬
‫یک مدیر مجرب هست که‬
‫بتواند کار را تحویل بگیرد‪.‬‬
‫سیاست مدیریت‬
‫افزایش توان ‪ITS‬‬
‫استاندارد کردن کار و سهولت‬
‫ارتباط با دیگران‬
‫ارتباط بیشتر با شرکتهای‬
‫مشاور‬
‫معیارها‬
‫‪207‬‬
‫چهار نوع اشتباه متداول در طراحی سیستم‬
‫‪ .1‬ایجاد سیستم بر مبنای تحقیقات و نوگرایی‪:‬‬
‫خیلی خوب است که آخرین تکنولوژی روز را داخل سیستم‬
‫بگذاریم ولی توان استفاده کاربران‪ ،‬نگه داری و رفع اشکال‬
‫سسیستم‪ ،‬کامل نبودن مستندات سیستم‪ ،‬زمان و اجرای‬
‫هزینه سیستم و آموزش کاربران برای استفاده از آن را هم‬
‫باید در نظر گرفت‪.‬‬
‫‪ .2‬به کار بردن کارکنان ارزان‪:‬‬
‫استفاده از نیروی گران در حالی که به ظاهر هزینه اضافه تر دارد‬
‫ولی به دلیل کارایی باالتر باعث صرفه جویی بسیار زیاد در‬
‫هزینه می شود‪.‬‬
‫‪208‬‬
‫‪ .3‬نبودن کنترل کافی برای برنامه های نوشته شده‪:‬‬
‫برای این عمل ابتدا باید سیستم بزرگ را به چند سیستم کوچک‬
‫تبدیل نموده و سپس آنها را با هم ترکیب کنیم‪ .‬در این صورت‬
‫باید به موارد زیر توجه شود‪:‬‬
‫الف ) استفاده از فرآیند ها‪ ،‬داده ها و زمان مشترک‬
‫ب) عدم کار کردن همزمان دو نفری روی یک موضوع‬
‫ج) سهولت ایجاد مستندات برای کاربران و سیستم‬
‫‪209‬‬
‫‪ .4‬نا کافی بودن تستها‬
‫به طور کلی برای تست و ارزیابی یک سیستم دو دیدگاه زیر وجود دارد‪:‬‬
‫‪ .1‬صحه گذاری‬
‫در این حالت کلیات طراحی سیستم با نمودار‪ ،‬برنامه های کامپیوتری و‬
‫فلوچارت مقایسه می شود‪ .‬به عبارت بهتر در این حالت نسبت به درست‬
‫یا غلط بودن برنامه کامپیوتری اظهار نظر می شود‪.‬‬
‫‪ .2‬اعتبار سنجی‬
‫در این حالت برنامه های کامپیوتری با خواسته های مشتری مقایسه می‬
‫شود‪ .‬به عبارت بهتر در این حالت نسبت به درست یا غلط بودن طراحی‬
‫سیستم اظهار نظر می شود‪.‬‬
‫‪210‬‬
‫قواعد طراحی‬
‫داده ها بایستی فقط و فقط یک بار به سیستم تغذیه شوند‪.‬‬
‫جمع آوری داده ها باید حتی االمکان از نزدیک منبع اصلی باشد‪.‬‬
‫سیستم های کامپیوتری باید کامال در روش های عمومی کار تلفیق‬
‫شود‪.‬‬
‫طراحی باید کاربر پسند باشد‪.‬‬
‫هرگونه اطالعاتی باید در پایگاه داده قرار گرفته و براحتی قابل‬
‫فراخوانی باشند‪.‬‬
‫داده ها باید در دسترس کلیه کسانی که به آنها نیاز دارند قرار گیرند‪.‬‬
‫‪211‬‬
‫سیستم باید با حداکثر انعطاف پذیری طراحی شود‪.‬‬
‫سیستم باید به گونه ای طراحی شود که نگهداری را تسهیل کند‪.‬‬
‫عملکرد سیستم باید مورد رضایت کاربران باشد‪.‬‬
‫حفاظت الزم در مورد دسترس ی و تغییر داده ها در نظر گرفته شود‪.‬‬
‫سیستم باید قابلیت پشتیبان گیری و اقدامات اصالحی را داشته‬
‫باشد‪.‬‬
‫خروجی سیستم باید به شکل مناسب و مستقیم در اختیار‬
‫درخواست کننده قرار گیرد‪.‬‬
‫‪212‬‬
‫فعالیت های مرحله طراحی‬
‫تعریف خروجی های مورد نیاز‪ ،‬حجم‪ ،‬کثرت وقوع و شکل آنها‬
‫مشخص کردن ورودی های مورد نیاز‪ ،‬حجم‪ ،‬کثرت وقوع و‬
‫شکل آنها‬
‫تخمین حجم تغییرات در کل سیستم‬
‫تعیین روش های کنترل و حسابرس ی‬
‫نهایی کردن گردش اطالعات‪ ،‬اجزای داده ها و ارتباط آنها‬
‫مشخص کردن داده های مورد نیاز و طراحی فرم ها‬
‫‪213‬‬
‫تقسیم طرح جامع به برنامه ها‪ ،‬قسمت ها و روش ها‬
‫تهیه شرح مشخصات برنامه ها‬
‫تعیین نیازهای آزمایش ی عمومی (نوع داده ها‪ ،‬منابع و اقدامات‬
‫کنترل)‬
‫تجدید نظر در برنامه پیاده سازی‬
‫تجدید نظر در تحلیل هزینه و منافع (در رابطه با اطالعات جدید‬
‫و هزینه های عملیاتی)‬
‫مستندسازی طراحی‬
‫‪214‬‬
‫آشنايي با واژه هاي كليدي‬
‫فيلد‪ :‬هر فیلد‪ ،‬پیاده سازي فیزیکی مشخصه داده اي یک موجودیت می‬
‫باشد که کوچکترین واحد داده اي با معنی است‪.‬‬
‫ركورد‪ :‬یک رکورد مجموعه اي از فیلدها است که در فرمت و‬
‫ساختاري از پیش تعریف شده در یک فایل ذخیره می شوند‪ .‬به‬
‫عبارت ديگر مجموعه اطالعاتي است كه در مورد يك نوع موجوديت‬
‫از يك محيط عملياتي مي خواهيم ذخیره سازي كنيم‪.‬‬
‫فايل‪ :‬یک فایل مجموعه اي از رکوردها مشابه به هم می باشد‪ .‬براي‬
‫مواجهه با نمونه هاي مختلف هر موجودیت فیلدهاي آن ها مقدار‬
‫گرفته و در یک مجموعه جمع شده اند‪.‬‬
‫‪215‬‬
‫پایگاه داده‪ :‬مجموعه اي از فایل هاي بهم مرتبط می باشد بدین معنی که‬
‫رکوردي از یک فایل با رکوردهائی از فایل هاي دیگر مرتبط‬
‫می باشد‪.‬‬
‫جدول‪ :‬یک جدول پایگاه داده‪ ،‬رابطه اي است که معادل با یک فایل ساخته‬
‫می شود‪ .‬یعنی در پایگاه داده رابطۀ هر فایل با یک جدول بیان می شود‪ .‬ستو‬
‫نهاي جدول همان فیلدهاي داده هاي موجودیت هستند‪ .‬سطرهاي جدول‬
‫همان رکوردهاي فایل که متناظر با ارزش یا مقادیر فیلدها یا مشخصه‬
‫هاي نمونه هاي مختلف موجودیت می باشد‪.‬‬
‫مجري پايگاه داده‪ :‬مسئولیت برنامه ریزي‪ ،‬تعریف‪ ،‬ساختاردهی و مدیریت داده‬
‫ها را بر عهده دارد‪ .‬مجري پایگاه داده مسئولیت تکنولوژي پایگاه داده‪،‬‬
‫طراحی و ایجاد پایگاه داده‪ ،‬امنیت داده ها‪ Backup ،‬گرفتن و تنظیم و‬
‫تعدیل عملکردهاي پایگاه داده را بر عهده دارد‪.‬‬
‫‪216‬‬
‫به عنوان مثال در سيستم اطالعاتي كه سوابق پرسنلي معلمین مدرسه‬
‫را نگهداري مي كند‪ ،‬اطالعاتي كه در مورد هر معلم نياز داريم‬
‫عبارتند از‪ :‬نام معلم‪ ،‬تاريخ تولد‪ ،‬وضعيت تاهل‪ ،‬سوابق تحصيلي‪،‬‬
‫موضوع تدريس‪ ،‬نوع استخدام و غیره‪ .‬يك مركز‪ ٥٠‬معلم در‬
‫استخدام خود دارد‪ ،‬بايد آموزش و پرورش يك استان‪ ،‬همه‬
‫اطالعات فوق را در مورد هر معلم داشته باشد تا در صورت لزوم‬
‫به آنها مراجعه نموده و در مورد انتقال‪ ،‬افزايش حقوق‪ ،‬ارتقاء‪،‬‬
‫بازنشستگي و مسائل ديگر معلمین خود اقدامات الزم را به عمل‬
‫آورد‪.‬‬
‫‪217‬‬
‫ساختار فايل مثال‪:‬‬
‫هر فايل اطالعاتي داراي مشخصات تعدادي موجوديت است كه داراي‬
‫ساختار مشخص ي مي باشند‪ ،‬مثال فايل پرسنلي يا كارگزيني مركز آموز ي‬
‫مبحث قبل‪ ،‬در مورد كليه معلمین خود داراي داده هايي مي باشد‪ .‬داده‬
‫هاي مربوط به هر معلم يك ركورد از فايل پرسنلي را تشكيل مي دهد‪.‬‬
‫منظور از محيط عملياتي در اينجا مثال همان امور پرسنلي مؤسسه آموز ي‬
‫‪ 50‬معلم مركز آموز ي فوق الذكر است‪ .‬بدين ترتيب فايل حاوي‬
‫اطالعات داراي ‪ 50‬ركورد مي باشد‪ ،‬يعني براي هر معلم يك ركورد وجود‬
‫دارد‪ .‬هر ركورد داراي چند مشخصه است اين مشخصات عبارتند از‪:‬‬
‫نام معلم‪ ،‬تاريخ تولد‪ ،‬وضعيت تأهل‪ ،‬سوابق تحصيلي‪ ،‬موضوع تدريس و‬
‫نوع استخدام‪.‬‬
‫‪218‬‬
‫هر مشخصه يك فيلد از داد ه هاي مربوط به ركورد را تشكيل‬
‫مي دهد‪ .‬پس هر ركورد از چند فيلد تشكيل شده است‪:‬‬
‫مقدار فيلدها‪ ،‬يا يك سري كاراكتر حرفي‪-‬عددي مي باشد مانند عبارت‬
‫”حسن اكبري“ در فيلد نام‪ ،‬و يا كد عدد مانند ‪ 01‬كه قبال توسط‬
‫كاربر تعريف شده و نشان دهنده منطقه آموزش و پرورش مي‬
‫باشد‪ ،‬يا كد موضوع تدريس‪.‬‬
‫تعريف بالك‪ :‬جاي دادن چندين ركورد در يك قالب بزرگتر را بالك‬
‫بندي گويند‪ .‬پس بالك‪ ،‬مجموعه اي است از تعدادي ركورد‪ ،‬با‬
‫طول و محدوده مشخص‪.‬‬
‫‪219‬‬
‫اصل نرمال سازي‬
‫نرمال سازي فرایندي است که ساختار پیچیده داده ها را به‬
‫ساختارهاي ساده و پایدار تبدیل می کنند‬
‫نباید عناصر داده اي در سطر ها تکرار شوند یعنی داده هاي مازاد‬
‫نباید وجود داشته باشند‪ ،‬براي پرهیز از تکرار داده ها جدول به دو‬
‫جدول تجزیه می شود تا داده هاي ثابت در یک جدول و داده هاي‬
‫متغیر در جدول دیگري ذخیره گردند‪.‬‬
‫‪220‬‬
‫مثال‪:‬‬
‫‪221‬‬
‫جدول نرمال شده‪:‬‬
‫‪222‬‬
‫تبديل ‪ ERD‬به پايگاه داده‬
‫پایگاه داده را می توان با شناخت داده ها از فرم ها‪ ،‬گزارشات و‬
‫داده هاي ورودي یا خروجی سیستم شناسایی و پایگاه داده ها را‬
‫ایجاد کرد‪ .‬اگر مدل داده اي )‪ (ERD‬براي سیستم تهیه شده باشد‬
‫آنگاه براحتی می توان آن را تبدیل به پایگاه داده کرد‪.‬‬
‫‪ .1‬هر موجودیت در ‪ ،ERD‬تبدیل به یک جدول در پایگاه داده‬
‫می شود‪.‬‬
‫‪ .٢‬مشخصه هاي هر موجودیت‪ ،‬فیلدهاي جدول و کلید اصلی آن نیز‬
‫همان کلید اصلی موجودیت می باشد‪.‬‬
‫‪ . ٣‬روابط موجود در ‪ ERD‬ممکن است تبدیل به کلیدهاي خارجی و یا‬
‫جدول هاي مجزا شوند‪.‬‬
‫‪. ۴‬سپس جداول ایجاد شده نرمال می شوند‪.‬‬
‫‪223‬‬
‫طراحی دیالوگ های کاربران )‪(Interface‬‬
‫هدف اصلی دیالوگ ها‪ ،‬تقویت و تدوین رو ی است که کاربران مایلند‬
‫بوسیله آن با سیستم ارتباط برقرار کنند‪ .‬بدیهی است که بهترین راه‬
‫برای دستیابی به چنین هدفی مشارکت خود کاربران در این فرآیند است‪.‬‬
‫برای طراحی هر دیالوگ کلیه داده های ورودی و خروجی باید لیست شوند‬
‫تا جانمایی آنها را در یک صفحه مناسب تعیین نموده که از چپ به‬
‫راست و باال به پایین کامل شوند‪.‬‬
‫دیالوگ ها را می توان بر اساس کارکردهای مشترک‪ ،‬اطالعات ورودی و‬
‫خروجی مشترک‪ ،‬زیر سیستم های نمودار ‪ DFD‬و نظرات کاربران گروه‬
‫بندی نمود تا روش دسترس ی به آنها ساده تر شود‪ .‬این درک دیالوگ ها‬
‫در واقع ورودی و خروجی سیستم هستند‪.‬‬
‫‪224‬‬
‫انواع فایل ها‬
‫‪ .1‬فایل ورودی‪:‬‬
‫این فایل ها باید نیازمندی های خروجی در آینده را تأمین کند و طراحی‬
‫آن تا حدود زیادی بستگی به خروجی ها دارد و به دو نوع زیر‬
‫تقسیم می شود‪:‬‬
‫الف) فایل اصلی‪ ،‬در برگیرنده عناصر ثابت و نیمه ثابت است که‬
‫اطالعات آن غالبا ثابت و تغییرات آن بسیار کم است‪.‬‬
‫ب) فایل تراکنش (تغییرات)‪ :‬در فایل داده های مورد نیاز برای‬
‫تولید خروجی ها وارد می شود و عناصر آن غالبا در حال تغییر‬
‫است‪.‬‬
‫‪225‬‬
‫‪ .2‬فایل واسطه ای‪:‬‬
‫این فایل با توجه به فایل اصلی ساخته می شود‪ .‬این فایل موقتی و‬
‫معموال در تهیه گزارشات به کار می رود‪.‬‬
‫‪ .3‬فایل خروجی‪:‬‬
‫محتوای آن بر اساس مشخصات از قبل طراحی شده تکمیل می‬
‫شود و شامل سه نوع زیر است‪:‬‬
‫الف) فایل اصلی بهنگام شده‪ ،‬بعد از کلیه پردازش های روزانه‪،‬‬
‫اطالعات فایل اصلی به کمک فایل تراکنش بهنگام می شود‬
‫که در این صورت فایل اصلی بهنگام شده حاصل می‬
‫شود‪.‬‬
‫‪226‬‬
‫ب) فایل گزارشات چاپی‪ ،‬گزارشات تولید شده برای پرسنل‬
‫سیستم در این فایل ها ذخیره شده و سپس توسط چاپگر‬
‫چاپ می شوند‪.‬‬
‫ج) فایل گزارشات صفحه نمایش‪ ،‬گزارشات تولید شده در این‬
‫فایل ها ذخیره و در زمان الزم روی مانیتور نشان داده می‬
‫شوند‪ .‬همچنین برخی منوها و فرم های ورودی و خروجی‬
‫اطالعات در این فایلها نگهداری می شوند‪.‬‬
‫‪227‬‬
‫شیوه های سازماندهی و دستیابی به فایلها‬
‫‪.1‬ترتیبی‬
‫رکوردها بصورت پی در پی و یکی پس از دیگری به همان ترتیب ساخت‬
‫روی دیسکت ذخیره می شوند‪.‬‬
‫بهنگام کردن این فایل ها توسط فایل های واسط امکان داشته و در این‬
‫صورت یک فایل جدید و کامل ساخته می شود‪ .‬فايل ها را مي توان به‬
‫ترتيب نزو لي يا صعودي و بر اساس مقدار يك فيلد (يا مشخصة كليدي)‬
‫كه كليد اصلي ركوردها مي باشد‪ ،‬مرتب نمود‪ .‬ترتيب ركوردهاي فايل را‬
‫كه روي مقدار يك فيلد خاص مرتب شده اند مي توان تغيیر داد و روي‬
‫مقدار فيلد ديگر مرتب نمود‪.‬‬
‫در این روش سرعت دسترس ی به عملیات پردازش بسیار کم است‪.‬‬
‫‪228‬‬
‫‪.2‬مستقیم‬
‫برای دسترس ی سریع به رکوردها از این روش استفاده می شود‪ .‬رکوردها بصورت‬
‫تصادفی در کنار هم قرار می گیرند و توسط یک فیلد کلیدی (خاص) قابل‬
‫دسترس ی هستند‪.‬‬
‫در موقع لزوم بدون توجه به دسته بندی های امکان پذیر‪ ،‬رکوردها جستجو می‬
‫شوند‪.‬‬
‫‪.3‬ترتیبی شاخص دار‬
‫رکوردها بر اساس فیلد کلیدی خاص مثل شماره دانشجویی بصورت مرتب و‬
‫متوالی در کنار هم ذخیره می شوند‪ .‬در این روش رکوردها بر اساس فیلد کلیدی‬
‫مرتب شده و جستجو نیز بر اساس فیلد کلیدی می باشند‪ .‬در این شیوه ترتیب‬
‫منطقی رکوردها با ترتیب فیزیکی ذخیره سازی آنها متفاوت است‪.‬‬
‫نکته‪ :‬در این درس و کلیه نرم افزارهای بانک اطالعاتی از روش سوم استفاده می‬
‫شود‪.‬‬
‫‪229‬‬
‫انواع فرم ها و صفحات نمایش‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪.4‬‬
‫‪.5‬‬
‫صفحه ورود داده ها‪ :‬جهت وارد نمودن داده های ورودی‬
‫می باشد‪.‬‬
‫صفحه پرس و جو‪ :‬برای نمایش بخش ی از اطالعات موجود در‬
‫سیستم می باشد که بطور انتخابی توسط کاربر مشخص‬
‫می شود‪.‬‬
‫صفحه چند منظوره‪ :‬با ترکیب صفحات ورود داده ها صفحات‬
‫پرس و جو ساخته می شود و برای بهنگام کردن اطالعات بکار می‬
‫رود‪.‬‬
‫صفحات منو‪ :‬برای نمایش گزینه های مختلف و انتخاب توسط‬
‫کاربر می باشد‪.‬‬
‫صفحات پیش نمایش‪ :‬برای تنظیم ظاهر گزارشات و دیدن آن‬
‫قبل از چاپ بکار می رود‪.‬‬
‫‪230‬‬
‫طراحی منوهای برنامه‬
‫این منوها در واقع شاخه ای فرعی از منوی اصلی بوده و بعنوان واسط‬
‫بخش کاربر و کل سیستم می باشند‪.‬‬
‫تعیین سلسله مراتب منوها (به کمک نمودارها و جداول جریان داده‬
‫ها) در سطوح مختلف انجام می شود‪.‬‬
‫ایمنی داده ها با استفاده از کد گذاری یا غیر فعال کردن آنها انجام می‬
‫شود‪.‬‬
‫همه کارکردهای اصلی و فرعی تا آخرین سطح باید در سیستم منوها‬
‫گنجانده شود‪.‬‬
‫‪231‬‬
‫تعیین مشخصات فیزیکی جداول و فایل ها‬
‫‪ ‬هدف این مرحله تعیین مشخصات فیزیکی فایل ها‪ ،‬پایگاه داده ها‪،‬‬
‫رکوردها و محتوای آنها می باشد‪.‬‬
‫‪ ‬به کمک نقاط ورودی هر یک از موجودیت ها اطالعات ورودی معلوم‬
‫می شود‪.‬‬
‫‪ ‬به کمک نقاط خروجی هر یک از موجودیت ها اطالعات خروجی معلوم‬
‫می شود‪.‬‬
‫در این قسمت مشخصات فیزیکی مثل شرح فیلد‪ ،‬طول فیلد‪ ،‬نوع فیلد‪،‬‬
‫نام فیلد و غیره باید در نظر گرفته و ثبت شود‪.‬‬
‫‪232‬‬
233
‫مستندسازی محتوای سیستم‬
‫مشارکت مدیر در طراحی سیستم مانند مشارکت صاحبخانه در طراحی‬
‫و نحوه معماری خانه خود می باشد‪ .‬از اینرو این مرحله به نحوه‬
‫مشارکت مدیر در طراحی سیستم می پردازد‪ .‬بدیهی است که طرح‬
‫اصلی سازمان و بیشتر جزئیات‪ ،‬مطابق نیاز و میل شکل می گیرد‪.‬‬
‫‪234‬‬
‫طراح سیستم پس از تعیین نیازها و خواسته های مدیریت‪ ،‬جزئیات طرح‬
‫و دستورالعملهایی بصورت مکتوب بر اساس موارد زیر ارائه می کنند‪:‬‬
‫چه اطالعاتی باید جمع آوری شوند؟‬
‫چه زمانی باید جمع آوری شوند؟‬
‫چه پرونده هایی باید بکار گرفته شوند؟‬
‫جزئیات نحوه پردازش چیست؟‬
‫چه بازداده هایی باید بدست آیند؟‬
‫بازداده ها چگونه باید توزیع شوند؟‬
‫پرونده ها چگونه باید توزیع شوند؟‬
‫‪235‬‬
‫طبقه بندی عملکرد سیستم‬
‫این طبقه بندی در ارتباط با زمانبندی عملیات پایگاه داده می باشد‪ .‬همچنین‬
‫در این طبقه بندی خواص و امکانات محیط پردازش معلوم می شود‪ .‬نکات‬
‫زیر در این طبقه بندی باید رعایت شود‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تهیه لیست کلیه گزارشات موجود و گزارشاتی که احتماال مورد نیاز است‪.‬‬
‫اطالعاتی که هر یک از افراد مجازند به آن دسترس ی پیدا کنند‪.‬‬
‫امکاناتی که برای کنترل خطاها الزم است‪.‬‬
‫عملیات خواندن‪ ،‬نوشتن و اصالح بر طبق استانداردهای برنامه نویس ی باشد‪.‬‬
‫میزان حافظه و سرعت مورد نیاز سیستم چقدر است؟‬
‫امکاناتی که برای دستیابی به پایگاه داده الزم است‪.‬‬
‫رو ی که برای اجرای هر یک از فرمان ها و دستورات نیاز است‪.‬‬
‫‪ ‬امکانات ویژه ای که برای انجام پردازش الزم است‪.‬‬
‫‪236‬‬
‫تست و ارزيابي‬
‫• ارزيابي‪ :‬عمل جمع آوري اطالعات در مورد میزان سودمندي يك‬
‫سيستم براي يك گروه خاص از كاربران‪ ،‬در يك محيط خاص و براي‬
‫يك فعاليت خاص‬
‫• داليل ارزيابي‬
‫– فهم دنياي واقعي‬
‫– مقايسه طرحها‬
‫– مهندس ي به سمت يك هدف خاص‬
‫– تست تطابق با استاندارد‬
‫روشهاي ارزيابي‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫مشاهده كار كاربر با سيستم‬
‫جمع آوري نظرات كاربران‬
‫آزمايش و مقايسه با استاندارد‬
‫ارزيابي پيش بيني كننده‬
‫ارزيابي تعبیري‬
‫لیست گزارشات سیستم جدید‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪.4‬‬
‫‪.5‬‬
‫‪.6‬‬
‫‪.7‬‬
‫‪.8‬‬
‫زیر سیستم نیروی انسانی‬
‫زیر سیستم تولید‬
‫زیر سیستم توزیع و فروش‬
‫زیر سیستم بازرگانی (تأمین مواد)‬
‫زیر سیستم مالی‬
‫زیر سیستم شناسنامه تجهیزات و ماشین آالت‬
‫زیر سیستم هیأت مدیره‬
‫زیر سیستم رقبا‬
‫‪239‬‬
-----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------240
‫منابع ‪:‬‬
‫روشهای ساخت یافته تجزیه و تحلیل و طراحی سیستمهای اطالعاتی‬
‫‪ ،‬بتول ذاکری‬
‫فناوری سیستم های اطالعاتی‪ ،‬مهرداد کارگری و حسن خادم زارع‬
‫روش تحلیل و طراحی ساخت یافته سیستم ها )‪،(SSADM‬‬
‫فیلیپ‪ .‬ال‪ .‬ویور‪ ،‬ترجمه همکاران سیستم‬
‫سيستمهاي اطالعات مديريت‪ ،‬ريموند مک لويد‪ ،‬ترجمه جمشيديان‬
‫و مهدي پور‬
‫سيستم های اطالعاتی مديريت (مدل سازی اطالعات)‪ ،‬علي‬
‫رضائيان‬
‫‪241‬‬