روش تحليل ساختيافته دوماركو
در اواخر دهه 1970 بود که پس از سپري شدن دوران برنامهنويسي ساختيافته و متدولوژيهاي طراحي، ايده متدولوژيهاي تحليل مطرح شد. در اين روشها اساس کار بر سلسله مراتب سازماني و رويکرد بالا به پايين استوار بود و از نمودارهاي گرافيکي به عنوان مدارکي براي تحليل استفاده ميشد.
متدولوژي تحليل ساختيافته دومارکو يکي ازمشهورترين متدولوژيهاي اين خانواده به شمار ميرود که با استفاده از تجربيات پيشين در زمينه طراحي و توليد نرمافزار تدوين گرديده بود. از لحاظ تاريخي پيشينه اين روش به سالهاي مياني دهه 70 ميلادي بازميگردد. در سال 1976ادوارد يوردون با انتشار مقالهاي کوشيد برخي از اصول اساسي روشهاي طراحي ساختيافته را در زمينه تحليل سيستمها به کار بندد. در آن زمان، تجربهاي از کاربرد عملي اين روش جديد وجود نداشت، اما با گذشت چند سال، تکنيکهاي تحليل ساختيافته در پروژههاي مختلفي به صورت پراکنده به کار بسته شد. مقاله تاريخي دومارکو که در سال 1979منتشر شد، اولين قالببندي رسمي متدولوژي طراحي ساختيافته به شمار ميرود. همزمان با اين روش، متدولوژي تحليل ساختيافته گين - سارسون و متدولوژي SADT نيز که مشابه روش دومارکو بودند، عرضه شدند.
روش دومارکو يک روش فرايندمدار است که با استفاده از تکنيکهاي گرافيکي مراحل مختلفي را براي طراحي يک سيستم به اجرا ميگذارد. اين متدولوژي به دليل تواناييهاي چشمگيري که در ابداع و به کارگيري ابزارهاي تصويري کارآمد داشت، به زودي با اقبال عمومي مواجه گرديد. دومارکو خود زماني ادعا نمود که بيش از 800 شرکت در سراسر جهان، از کاربران جدي متدولوژي وي به شمار ميروند و آن را در پروژههاي مختلف به کار گرفتهاند. اين مدعا زماني قابل قبول جلوه ميکند که ميبينيم در بسياري ازکشورها متون و واحدهاي درسي مختلفي جهت آموزش اين روش در دسترس قرار گرفته و اکثر ابزارهاي CASE رايج اين روش را پشتيباني ميکنند.
تحليل ساختيافته دومارکو يکي از نمونههاي نوعي متدولوژيهايي است که بر مبناي مدلسازي فرايندها ساخته شدهاند. ازنظر تاريخي اين متدولوژيها، حاصل کوششي بودهاند که براي حل مشکلات روشهاي سنتي تهيه سيستمهاي اطلاعاتي، در اواخر دهه 70 ميلادي صورت گرفت.از آنجا که روش دومارکو (در کنار تحليل ساختيافته گين - سارسون) از نخستين و تاثيرگذارترين روشهاي فرايندمدار در تحولات بعدي متدولوژيهاي توسعه سيستمهاي اطلاعاتي بوده است، شايسته است مباني مفهومي اين روش را با دقت بيشتري مورد بررسي قرار دهيم.
نخستين ايده اساسي که روش دومارکو بر آن بنا شده، تصور سيستم به عنوان مجموعهاي از فرايندها ( عمليات ) است. از اين ديدگاه، هر سيستم را ميتوان مجموعهاي از عمليات فرض کرد که براي انجام يک يا چند وظيفه اجرا ميشوند. بنابراين نگاه به سيستم در اين رهيافت، اساسا نگاهي است از منظر عمليات و اجراي کارکردها (پردازشها). هنگامي اهميت اين فرض در مجموعه مباني مفهومي روشهاي فرايندمدار آشکار ميشود که آن را با تصوري که متدولوژيهاي دادهمدار از سيستم دارند (سيستم به عنوان واسط هايي براي ارتباط کاربر با پايگاههاي اطلاعاتي يا دادهها)، مقايسه کنيم.
فرايندهايي که يک سيستم را تشکيل ميدهند، از نظر دومارکو به دو دسته تقسيم ميشوند:
· فرايندهايي که بايد به صورت مکانيزه ( از طريق کامپيوتر ) اجرا شوند.
· فرايندهايي که خارج از کامپيوتر و به صورت دستي انجام ميشوند.
يکي از وظايف تحليلگر در مرحله تحليل سيستم، تشخيص و تميز فرايندها از اين ديدگاه است.
رهيافت دومارکو براي حل مسئله در جريان تحليل و طراحي سيستمهاي اطلاعاتي، بر سه تکنيک مکمل زير استوار است:
· تجزيه کارکردي؛
دومارکو خود اين جنبه از روش را افراز مينامد. منظور از آن شکستن مسئله اصلي به مسائل کوچکتر و حل اين مسائل است. تکنيک افراز در اينجا (با توجه به تعريفي که دومارکو از سيستم دارد) به عنوان تجزيه متوالي کارکردها و فرايندهاي سيستم تا سطح معيني از تفصيل، و سپس توصيف فرايندهاي پايه حاصل مطرح ميشود.
· ارتباط بساوردي ؛
منظور دومارکو از اين اصطلاح، روندي است که در آن اطلاعات و خواستههاي کاربر را اخذ کرده، مدلسازي ميکند و بلافاصله براي تجديد نظر به او برميگرداند. در نتيجه تکرار اين عمل، مدل ساخته شده تا حد زيادي به آنچه کاربر ميداند يا ميخواهد نزديک ميشود.
· کاهش افزونگي ؛
مطابق اين اصل هر فرايند در مدل، يکبار و تنها يکبار بايد توصيف شود. دومارکو اين اصل را براي اطمينان از قابليت نگهداري مدل طراحي شده توصيه ميکند. ايده کاهش يا حذف افزونگي در واقع از روشهاي برنامهنويسي ساختيافته الهام گرفته شده است. مطابق اصول برنامهنويسي ساختيافته، هر متغير (به مفهوم منطقي) بايد تنها در يک نقطه تعريف شود. براي اعمال اين ضابطه در حيطه طراحي، دومارکو روش نمايش نموداري مدلها را پيشنهاد ميکند که در اصل به معني تمرکز مدل حول DFD است. در DFD هر پردازش موجود در سيستم به صورت يک بلوک مستقل ظاهر ميشود که تحليلگر بايستي دو عمل اساسي در مورد آن انجام دهد:
اولا، روابط ميان آن و ساير پردازشهاي سيستم را (در هر حد تفصيل) نشان دهد (جريانهاي دادهاي).
ثانياً، پردازش را از طريق تجزيه کارکردي به پردازشهاي فرعي پايه و با بهرهگيري از ابزاري مناسب به روشني توصيف کند.
با اين پيش زمينه، دومارکو عمل تحليلي سيستم را به صورت يک تبديل تعريف ميکند. يعني عملي که دو منبع (سيستم موجود و نيازهاي جديد کاربران) را به توصيف سيستم جديدي تبديل ميکند.
پس تحليل خود شامل سه فعاليت اساسي است:
الف) توصيف و مدلسازي سيستم موجود
ب) کسب نيازهاي جديد کاربران
ج) توصيف و مدلسازي سيستم جديد
براي اينکار تحليلگر بايد بين دو جنبه از سيستم تمايز قائل شود:
- جنبه فيزيکي؛ اينکه سيستم چگونه عمل ميکند.
- جنبه منطقي؛ اينکه سيستم چهکار ميکند.
به اعتقاد دومارکو هر مدل سه کارکرد اصلي دارد:
الف) مدل ابزار ارتباط و انتقال اطلاعات بين کاربر و تحليلگر است.
ب) مدل چهارچوبي براي توصيف سيستم جديد است.
ج) مدل نقطه آغاز عمل طراحي است.
همانطور که گفتيم، عناصر يک مدل از ديدگاه دومارکو عبارتند از:
- نمودار DFD که عمليات و پردازشهاي سيستم در سطوح مختلف تفصيل، تا حد پردازشهاي پايه مدلسازي ميکند.
- توصيف پردازشها، که استفاده از ابزارهايي چون فرهنگ دادهها و انگليسي ساختيافته براي انجام آن توصيه ميشود.
بايد توجه داشت که فرهنگ دادهها در اصطلاح دومارکو، با معني متداول آن اندکي تفاوت دارد. از نظر دومارکو فرهنگ دادهها تنها مجموعهاي است از مشخصات پردازشها و روابط بين آنها. بااين تعبير مدلسازي و توصيف دادهها و ساختارهاي دادهاي سيستم چندان مورد توجه اين روش قرار نميگيرد.
مراحل:
1. مدلسازي سيستم موجود
تقريباً هميشه يک سيستم جاري وجود دارد (سيستم بهمعني مجموعه يکپارچه از مقررات و آييننامهها و احتمالا پردازشهاي خودکار که براي انجام پارهاي اهداف معين به کار گرفته ميشوند). اين محيطي است که سيستم جديد در آن قرار خواهد گرفت. تحليل ساختيافته، مدل سيستم جاري را بر روي کاغذ بنا کرده و از آن براي بالا بردن ميزان درک خويش از محيط حاضر استفاده ميکند. اين مدل را ميتوان "فيزيکي" ناميد، چرا که براي ساختن آن از اصطلاحات کاربر، رويهها، مکانها، نامهاي شاغلين و راههاي ويژه اجرايي سياستهاي شغلي استفاده ميشود.
2. استخراج رابطه منطقي
در يک مدل فيزيکي، روابط منطقي هنگامي قابل استخراج ميشوند که ما خود را از جستجوي "چگونگيهاي" اجراي عمليات جاري رهايي بخشيم و به جاي آن نظر خود را به "چيستي عمليات" معطوف کنيم. در اين مرحله بايستي بهجاي توصيف شيوه اجرايي يک سياست، به توصيف خود سياست پرداخت.
3. مدلسازي سيستم جديد
در اين مرحله، مهمترين عمليات تحليل ساختاريافته يعني خلق يک سيستم جديد انجام ميگيرد. نخست تفاوتهاي موجود و تفاوتهاي بالقوه بين محيط جاري و محيط جديد تعيين ميگردند. با استفاده از مدل منطقي سيستم موجود و تفاوتهاي تعيين شده، تحليلگر مدل جديدي بنا ميکند و به مستندسازي عملياتي که در محيط آتي انجام خواهند شد ميپردازد. مدل جديد، سيستم مورد نياز را به صورت مجموعههايي جداگانه از پردازشهاي مختلف نمايش خواهد داد. جزئيات اين پردازشها در اين مرحله کاملا مشخص شده و براي هر پردازش يک mini-spec تدوين شده است.
4. محدود کردن مدل
تمدل منطقي جديد، بسيار بيش از اهداف مورد نياز طراحي شده است، چرا که در هنگام پيريزي اين مدل، اين سئوال مطرح نبوده است که از مجموعه کارها، چه مقدار در درون کامپيوتر و چه مقدار در بيرون آن انجام ميگيرد. در اين مرحله تحليلگر يک محدوده انسان - ماشين بنا ميکند که با استفاده از آن دورنماي مکانيزاسيون ترسيم ميگردد. وي همچنين بايستي شيوههايي براي انتخاب پردازشهايي که بايستي در فرآيند مکانيزاسيون در نظر گرفته شوند، ارائه کند. در انتهاي اين مرحله، محدوديتهاي فيزيکي به مدل اضافه ميشوند.
5. تعريف و تحليل گزينهها
در اين مرحله براي هر يک از گزينهها يک تحليل هزينه - منافع صورت ميگيرد. از مجموع نتايج اين تحليل، تعدادي گزينه مقرون به صرفه بهدست خواهد آمد که نتيجه اين مرحله خواهند بود.
6. انتخاب گزينه
در اين مرحله گزينههاي مقرون به صرفه مورد تحليل قرار خواهند گرفت و بهترين آنها انتخاب خواهد شد. براي گزينه انتخاب شده پارهاي مشخصات نظير بودجه، برنامه زمانبندي و نيازمنديهاي فيزيکي تعيين شده و به مديريت ارائه ميگردد.
7. يکپارچهسازي ويژگيها
در اين مرحله تمام عوامل مربوط به ويژگيهاي ساختيافته فراهم شده و در کنار يکديگر قرار گرفته است. نتيجه اين مرحله، شامل مدل فيزيکي جديد انتخاب شده به همراه مجموعهاي يکپارچه از mini-specها ميباشد.
ابزارها:
در متدولوژي تحليل ساختيافته دومارکو، دو ابزار براي طراحي و تحليل سيستم معرفي ميگردند که از رايجترين ابزارهاي طراحي در تمامي متدولوژيها به شمار ميرود. اين ابزارها عبارتند از نمودار جريان داده ( DFD ) و فرهنگ داده. در اين قسمت به معرفي اين ابزارها ميپردازيم. شايان ذکر است که اين دو ابزار در حقيقت مدل سيستم را تشکيل ميدهند.
1. نمودار جريان دادهها DFD
نمودار جريان داده، شبکهاي براي نمايش يک سيستم است. اين نمودار، يک سيستم را به صورت مجموعهاي از فرآيندها، داده و روابط بين اين فرآيندها بيان ميکند. يک نمودار جريان داده از چهار عنصر تشکيل شده است: جريانهاي داده، تبديلها، منابع داده و پايانهها.
يک جريان داده، مجموعهاي است که بستههاي اطلاعاتي، با ترکيبي مشخص در آن جريان مييابند. يک تبديل، فرآيندي است که طي آن يک يا چند جريان ورودي به يک يا چند جريان خروجي تبديل ميگردند. يک منبع داده، يک انبار ذخيره اطلاعات است. آييننامهها، پروندههاي مکانيزه، پايگاهاي اطلاعاتي و ... ميتوانند منابع داده باشند. يک پايانه، مبداء يا مقصد يک سيستم داده است. پايانهها، مرزهاي يک سيستم مدل را مشخص ميکند.
2. فرهنگ داده
يک فرهنگ داده مجموعه تعاريف واسطي است که در مدل اظهار شدهاند. تعاريف به کار گرفته شده در فرهنگ داده، اصطلاحات اجزاء مربوط به جريان داده و منبع داده را معرفي ميکند. اجزا ممکن است که يا خود جريانهاي داده باشند و يا تحت عنوان عناصر داده معرفي شوند.
کاربرد:
روش دومارکو به عنوان يک روش عام تحليل ساختيافته، در تحليل و طراحي همه سيستمهاي اطلاعاتي کاربردپذير است. در واقع ابزارها و روشهايي که نخستين بار از طريق اين متدولوژي عموميت و رواج يافتهاند، از زمان طرح اوليه روش تاکنون در اکثر پروژههاي توسعه سيستم به صورت مستقيم يا غيرمستقيم، به کار رفته است. با اين وجود، توجه به اين نکته که روش دومارکو برخلاف متدولوژيهاي جامع (مانند IE و SSADM ) همه مراحل و گامهاي زيستچرخ توسعه سيستمها را پوشش نميدهد، روشن ميسازد که براي استفاده عملي اين روش در اجراي پروژههاي عملي، ناگزير بايد آن را با مجموعهاي از روشها و ابزارهاي کمکي تلفيق و تکميل کرد.
متدولوژي تحليل ساختيافته دومارکو به شکل اصلي و اوليه آن، در حال حاضر توسط هيچ مؤسسهاي پشتيباني نميشود. اما اصول و روشهاي آن در اکثر کتابها و متون درسي تحليل و طراحي سيستمها بيان شده است.
نقد و ارزیابی:
1. مزايا
· افراز
روش دومارکو با تکنيک افراز، راه حل بسيار موثري براي مقابله با مشکلاتي که هنگام کار با سيستمهاي بزرگ روي ميدهد، ارائه ميکند. مفهوم افراز (جداسازي) يا تجزيه کارکردي آن است که سيستم براساس يک رويکرد کاملا مشخص و تعريف شده، به اجزاي مختلف تقسيم ميشود. در اين حالت، انجام کليه عمليات طراحي و تحليل سيستم بر روي اين اجزا بسيار سادهتر انجام ميشود.
· ارتباط تصويري
بيشک ارتباط صحيح بين کاربر و تحليلگر، يکي از اساسي ترين عوامل طراحي يک سيستم کارآمد است. اين ارتباط در صورت سنتي آن از طريق مصاحبه و به صورت محاوره برقرار ميگردد. اما آنچه در اين ميان بيشترين اهميت را دارد آن است که مفاهيم مورد نياز بهطور دقيق و صحيح در اسرع وقت بين کاربر و تحليلگر مبادله گردد و تا سرحد ممکن در وقت مصاحبهها صرفهجويي گردد. تحليل ساختهيافته دومارکو، از تکنيکي نموداري براي انجام مصاحبه استفاده ميکند که زمان مصاحبهها را به حداقل ميرساند. ترسيم نموداري نتايج مصاحبه، در حين انجام مصاحبه و سپس اصلاح چندباره آن تکنيک پيشنهادي دومارکو است.
2. معايب
متدولوژي تحليل ساختيافته دومارکو مانند ساير متدولوژيهايي که در ميانه و اواخر دهه 1970معرفي شدند، صرفاً براي پاسخ به اين سوال که "چگونه ميتوان نرمافزار بهتري ساخت؟" طراحي شده بود و بديهي است که از دريچه مهندسي نرمافزار به مقوله سيستمهاي اطلاعاتي مينگريست. دومارکو، تمام کوشش خويش را صرف تهيه ابزارهايي جهت تسهيل نمودن مراحل مختلف يک نرمافزار نمود و اتفاقاً در اين راه نيز موفق بوده و ابزارهايي را معرفي نمود که جزو رايجترين ابزارهاي موجود در زمينه روشهاي ساختيافته به شمار ميروند و در متدولوژيهاي رده بالاي امروزي نيز کاربرد فراواني دارند. اما بيشک متدولوژي دومارکو نميتواند جوابگوي تمامي نيازهاي امروز که بيشتر خواهان راهحلهاي جامع در سطح يک سازمان هستند، باشد. تحليل ساختيافته دومارکو يک روش فرآيندمدار است که بر اساس نيازهاي دهههاي پيشين طراحي شده است و در زمينه طراحي مدلهاي داده اصولا رهيافتي ارائه نميکند.
کتابشناسی
De Marco, T. , "Structured Analysis and System Specification", in Classics in Software Engineering, Edited by E.N. Yourdon, Yourdon Press, 1979
مقاله تاريخي دومارکو که در آن وي براي اولين بار جمعبندي خود از روش تحليل ساختيافته را ارائه کرد.
De Marco, T. , Concise Notes on Software Engineering, Yourdon Press, 1979
شرح مختصر و روشني از تحليل ساختيافته دومارکو در اين کتاب ارائه شده است.
خوش بینی در محیط فاسد، خیانت به خود و جامعه است.حضرت علی (ع)