مهندسی نرم افزار UML سازمان انتقال خون بخش اول
تفاوت برنامه نویسان حرفه ای با برنامه نویسان آماتور در توانایی ایجاد برنامه هایی با رابط کاربر زیبا تر و حجم کمتر و سرعت پردازش بالاتر است.
البته در اين ميان طراحان مساله نيز سهم بسزائي در اين زمينه دارند. چرا كه در صورت وجود نداشتن يك طرح اوليه از نرم افزار نمي توان به سادگي برنامه نويسي نمود. زيرا شناخت كافي از صورت مساله وجود ندارد. به همين سبب ممكن است در مراحل مختلف براي نوشتن برنامه مجبور شويم چندين مرحله به عقب بازكرديم و اين گونه مسائل در پروژه هاي بزرگ كه در آنها پروسه زماني وجود دارد مشكل ساز خواهد بود.
البته نكته مهمي كه بايد به آن اشاره نمود اين است كه عدم وجود منابع اطلاعاتی مناسب در مورد راه حل مسائل برنامه نویسی همیشه یکی ار دلایل عقب ماندگی صنعت نرم افزار کشور بوده است.
یادآوری این نکته خالی از لطف نیست که یکی از منابع درآمد ارزی در کشور هند فروش نرم افزار های تولید شده در این کشور به کشورهای دیگر می باشد.
البته برنامه نويسي مساله مهمي مي باشد. ولي مهمتر از آن طراحي و تحليل سيستمي است كه بايد براي آن برنامه نويسي نمود. بنابراين با توجه به اين مساله ، شناخت روشي كه بتوان با آن به گونه اي سيستماتيك و اصولي يك سيستم را مورد بررسي قرار داد و نيازمنديهاي آن را به طور كامل بدست آورد نكته بسيار مهمي است كه البته به آن توجه زيادي نمي شود.
در اين پروژه و تحقيق سعي بر آن شده كه با يكي از روشهاي طراحي و تجزيه و تحليل سيستمها به نام UML به طراحي نرم افزار یکی از شعبات سازمان انتقال خون به صورت بخش به بخش پرداخته شود.
Use Case Diagrams
در این بخش به بررسی و شناخت Use Case ها ، Actor ها ، رسم Use Case Diagram ها و در نهایت نوشتن سناریویی برای هر یک از Use Case Diagram ها خواهیم پرداخت. در ابتدا بایستی بدانی که مفاهیم هر یک از عبارات فوق چیست؟
1-1- Use case چیست؟
Use Case ها که در فاز آنالیز پروژه برای شناساسیی و تقسیم بندی فعالیت های سیستم استفاده می شوند و می توانند به عنوان سرویس ها یا کارکردهایی که سیستم برای کاربران خودش فراهم می کنه نیز توصیف بشوند.
دو دیدگاه وجود دارد: یکی داخلی , دید ساختاری و دیگری خارجی و دید وظیفه گرایی(task Oriented)
در دیدگاه اول ما باید کلاسها و متدها را تعریف کنیم و سپس واسطهای کاربری (user interface) را تعریف کنیم. مشکل اینجاست که برای کاربر مهمترین چیز رفتار سیستم است ولی واسطهای کاربری تنها قسمت آخر فرآیند را تعریف می کنند. و این مارا به سمت مشکلاتی می برد نظیر اینکه سیستم تمام کارکردهایی که ما می خواهیم در اختیارمون قرار نمی دهد و یا کارکردهایی ره دارد که مورد نیاز ما نبوده است.
در دید دوم ،سیستم از Actor ها و فعالیتها و کلاسهایی که به فعالیتها وصل شده اند پشتیبانی می کند. در این دیدگاه هیچ کار ناخواسته ای وجود ندارد و سیستم تمام فعالیتهای کاربر را پشتیبانی می کند که همه آنها در Use case Diagram نمایش داده می شود.
1-2- Actor چیست؟
Actor هـا نقشـهایـی را ارائـه مـی دهـنـد کـه تـوســط کـاربــران سیــــسـتمـــهای اطـلاعـاتی (Information System=IS) انجام می شود. این Actor ها می توانند انسانها ,کامپیوترها , سخت افزارها و حتی نرم افزار ها باشند. تنها چیزی که آنها را Actor می کند این است که آنها باید بیرون از قسمتی باشند که توسط سیستم به use case ها تقسیم شده است ویکسری ورودی برای سیستمهای اطلاعاتی فراهم می کنند و یکسری از آنها خروجی می گیرند.
1-3- دیاگرام use case چیست؟
دیاگرامهای use case با استفاده از Use case و Actor عملکرد (Functionality) سیستم رامدلسازی می کنند.
1-4- ارتباطات بین use case ها چگونه است؟
ارتباط بین use case ها یا به صورت Extends است و یا به صورت Uses .Uses دلالت بر این دارد که یک use case برای انجام وظیفه و فعالیتش نیازمند use case دیگری است. Extends دلالت بر این دارد که use case ی یک امکان و گزینه اختیاری برای use case دیگر است که در بعضی شرایط از آن استفاده می کند.
1-5- شناسائی Actor های سیستم
Actor ها در حقیقت مکانیسمی برای طبقه بندی External User ها هستند. Actor ها می توانند در چهار گروه User ، Applications ، Devices و External Events باشند. در سیستم جاری با دو نوع اکتور سرو کار داریم:
• Actor کاربر
• Actor External Events
1-5-1- Actor کاربر
کاربران سیستم در حالت کلی شامل Actor مدیر سیستم ، Actor اهدا کنندگان (شامل همه نوع اهدا کننده خون) و Actor کارمند (که شامل پرستاران ، پزشکان و . . .) می باشند.
Actor اهدا کننده خون و Actor کارمند و Actor مدیر با رابطه Generalization با Actor کاربر سیستم ارتباط دارند و تمامی خواص Actor کاربر سیستم را دارا هستند. در حالت کلی ، کاربر به استفاده کننده سیستم نرم افزاری اهداء خون گفته می شود که سایر تعاریف Actor های سیستم از آن مشتق می شود. (ارث بری دارند)
مفهوم ارث بری در نمودار صفحه بعدی بدین معنی است که در حالت کلی Actor کاربر سیستم دارای یک سری اطلاعات اعم از اطلاعات تماس ، اطلاعات شناسنامه ای و . . . می باشد که می توان در تعریف Actor ها آنها را در کلاس کلی تعریف نمود و در تعریف سایر خواص مربوط به Actor ها موارد تکراری را از کلاس اصلی مشتق گرفت. (در نمودار کلاس به صورت کامل در این مورد رسم نمودار خواهد شد)
1-5-2- Actor مدیر سیستم
شرح: مدیر سیستم در بالاترین مقام از نظر دسترسی و مدیریت در شعبه انتقال خون و در سیستم نرم افزاری را داراست و کار اصلی مدیریت در سیستم را انجام می دهد و بر نحوه کارکرد کارمندان و سیستم نرم افزاری انتقال خون اشراف کامل دارد.