چكيده :
موضوع مورد بحث در اين پروژه طراحي يك سيستم مكانيزه براي داروخانه دكتر بنياسد با استفاده از يكي از روشهاي شئ گرا ميباشد . روش به كار گرفته شده در فرآيند تحليل و طراحي GRAPPLE نام دارد كه مختصر (Guide lines for Rapid Application Engineering) ميباشد . اين روش كاربردي به سادگي با به كارگيري ابزارهاي موجود در UML به تيم طراحي كمك ميكند تا گام به گام مراحل طراحي را طي نموده و به پايان برسانند .
فاز اول در روش GRAPPLE همانند بسياري از روشهاي ديگر جمع آوري اطلاعات از محيط ميباشد كه با روش هاي گوناگون قابل انجام است . خروجي اين مرحله نمودارهاي فعاليت و نمودارهاي آبشاري مربوط به محيط ميباشد . سپس با مصاحبه هاي تكميلي و استخراج اساميو افعال نمودار اوليه كلاس رسم گرديده و با كمك مصاحبه هاي بيشتر تناظرهاي مربوط به كلاسهايي كه مفيد به نظر ميرسيدند نمودار كامل كلاس بدس آمده .در گامهاي بعدي اين نمودار كلاس تكميلتر ميشود تا به نمودار نهايي كلاس تبديل گردد .
در بخش بعدي با جلسه هاي JAD متعدد سعي در ملموس كردن سيستم براي كاربران و بدست آوردن نيازهاي واقعي آنان گرديده . نمودارهاي استقرار و بستههاي عملكردي به عنوان خروجي اين بخش هستند . بسته هاي عملكردي بر اساس فعاليتهاي ثبت شده در نمودارهاي فعاليت براي Actorهاي محيط رسم شده اند و در هر بسته موارد كاربرد هر Actor قرار گرفته .
در گام بعدي به توسعه موارد كاربرد (Use Case) ميپردازيم و نمودارهاي مورد كاربرد ، براي موارد كاربرد موجود در بستههاي عملكردي رسم و توضيحات تكميلي به موارد كاربرد اضافه شده اند . سپس تعاملات و تغيير حالات مورد بررسي قرار گرفته و در نهايت نمودار حالت مربوطه رسم شده .
مقدمه :
فناوري اطلاعات در سالهاي اخير به عنوان عامل اصلي توسعه شناخته ميشود . يكي از شاخههاي فناوري اطلاعات ، ايجاد و توسعه سيستمهاي است . مهندسي نرمافزار سعي بر آن دارد تا ايجاد و توسعه سيستمهاي اطلاعاتي را به شكل فرآيندي مهندسي درآورد .
در تمام متدولوژيهاي توسعه سيستم ، همواره قصد توسعه دهندگان سيستم آن است كه به نحوي نيازهاي كاربران ، به شكل واقعي تحقق پيدا كند و تا جايي كه ممكن است ، آنچه را كه كاربران ميخواهند ، برآورده سازند .
در طول ساليان مختلف فرآيند توسعه سيستم ها ، متدولوژي هاي مختلفي استفاده شده است كه هر كدام داراي مزايا و معايب مربوط به خود ميباشند و هر يك از اين متدولوژي ها يك يا چند مرحله از دوره زندگي توسعه سيستم را پوشش ميدهند و ابزار و مدلهاي خاصي را بر دوره زندگي سيستم تحميل ميكنند . از متدولوژي هاي سنتي گرفته تا متدولوژيهاي شي گرا ، هركدام به نحوي ميخواهند سيستميقابل قبول براي كاربران تهيه نمايند .
از ميان مدل هايي كه در جريان توسعه سيستم و در يك متدولوژي خاص به كار گرفته ميشود ، مدلهايي اهميت بيشتري دارند كه بتوانند نيازها را هم براي استفاده كنندگان و هم براي تيم پروژه بهتر مجسم كنند ؛ به نحوي كه كاربران و تيم پروژه كاملا در جريان توسعه سيستم به شكل بصري قرار گيرند . اين موضوع اهميت زيادي خصوصا در زمينه كاهش هزينه ها و زمان ايجاد سيستم دارد .
زبان مدلسازي يكپارچه (UML) با استفاده از تجربيات خبرگان سيستمهاي اطلاعاتي و تئوريسينهاي اين رشته شكل گرفته و زبان استانداردي را براي تسريع در ايجاد و توسعه سيستم هاي اطلاعاتي به وجود آورده است .
براي برخورد با چالش هاي يك فرآيند توسعه ، مطلبي تحت عنوان (Guide lines for Rapid Application Engineering - GRAPPLE) (رهنمود هايي براي كاربرد سريع مهندسي ) ارائه شده است . ايدههاي موجود درGRAPPLE يك چيز جديد نيست ، بلكه برگرفته شده از مجموعهاي از ايدههاي ساير افراد ميباشد .
در اين پروژه سعي شده با روشهاي كاربردي ارائه شده توسط GRAPPLE يك سيتم نرمافزاري براي داروخانه دكتر بنياسد طراحي گردد .
فصل اول : استفاده از UML در فرآيند توسعه سيستم
UML ابزار شگفت انگيزي است ، ولي از آن نميتوان به تنهايي استفاده كرد ، بلكهUML نيرويي جهت توسعه نرم افزار ميباشد . در اين فصل ميخواهيم درباره فرآيندهاي متدولوژيهاي توسعه به عنوان وسيلهاي جهت درك نحوه استفاده ازUML صحبت كنيم .
سازمان شما به يك سيستم كامپيوتري جديد احتياج دارد و شما كسي هستيد كه با توجه به مزاياي رقابتي نرمافزار جديد ، ميخواهيد يك سيستم جديد براي برخورداري از اين مزيت ، ايجاد كنيد . بنابراين شروع به استقرار اعضاي تيم پروژه در محلهاي خودشان ميكنيد و با استفاده از اعضاي تيم يعني مدير ، مدلدهنده ، تحليلگران ، برنامهنويسان و مهندسين سيستم سعي در تكميل پروژه داريد . حال بياييد از ديدگاه يك مشتري به موضوع نگاه كنيم . خود را جاي مشتري بگذاريد :
انتظار داريد كه نتيجه كار گروهي تيم پروژه را چگونه ببينيد ؟
چگونه ميخواهيد كه مدير پروژه به شما روند پيشرفت پروژه را گزارش دهد ؟
و در انتها انتظار داريد كه سيستم تهيه شده آماده به كار باشد .
قبل از آن كه پروژه شروع شود ، احتمالا نياز داريد كه نقطه نظرات خود را درمورد سيستم بيان كنيد ، به نحوي كه آنها مسائل شما را درك كرده و آن را براي شما پيادهسازي نمايند . همچنين علاقهمند هستيد كه در فرآيند پيشرفت كار ، نگاهي به اين روند داشته باشيد و به عبارتي ميخواهيد كه در تمام مراحل پروژه همراه آنان باشيد .
اينها مسائل مشترك و نكاتي هستند كه هر مشتري آنها را در نظر ميگيرد و نيز براي هر پروژه توسعه سيستم لازم ميباشد و همچنين نكاتي مثل زمان ، پول ، نيروي انساني از مسائل ديگر توسعه يك سيستم هستند .
1 - 1 ) متدولوژي ها : قديم و جديد
هدف اين نيست كه تيم پروژه بلافاصله به سراغ كدنويسي برود . تيم توسعه مجبور به تعقيب نمودن يك ساختار است ، به عبارت ديگر يك راه روشمند را بايد دنبال كند . ساختار و طبيعت مراحل در فرآيند توسعه تحت نام متدولوژي ناميده ميشود .
قبل از آن كه تيم پروژه شروع به كدنويسي كند ، توسعه دهندگان سيستم بايد كاملا مسئله مورد بررسي را درك كرده باشند و اين موضوع نيازمند آن است كه شخصي نيازها و احتياجات شما را تحليل كند . بعد از آن كه تحليلگر كارش را انجام داد ، آيا ميتوان كدينگ را شروع كرد ؟ خير . شخص ديگري مجبور است تحليل به دست آمده را به طراحي تبديل نمايد . آنگاه كدكنندگان بعد از مرحله طراحي شروع به كار كدنويسي ميكنند و سپس آزمايش و استقرار سيستم انجام ميشود .
1 - 1 - 1 ) روش قديم :
اين نگارش بيش از اندازه ساده ميباشد و در آن مراحل به صورت پي در پي انجام ميشود . هر مرحله دقيقا در يك مقطع از زمان رخ ميدهد . در واقع متدولوژي هاي توسعه اوليه به اين صورت سازمان مييافتند . شكل 1-1 يكي از روش هاي فكري بود كه براي ساليان زياد در ميان نرم افزار نويسان داراي نفوذ بود و مورد استفاده قرار ميگرفت .
فهرست مطالب :
چكيده 6
مقدمه. 7
فصل اول : استفاده از UML در فرآيند توسعه سيستم. 9
1 - 1 ) متدولوژي ها : قديم و جديد. 11
1 - 1 - 1 ) روش قديم : 11
1 - 1 - 2 ) روش جديد : 12
1 - 2 ) يك فرآيند توسعه چه بايد بكند ؟ 13
1 - 3 ) GRAPPLE. 15
1 - 4 ) ساختار GRAPPLE. 16
1 - 4 - 1 ) درك فرآيند هاي كاري. 17
1 - 4 - 2 ) تحليل حوضه وميدان. 17
1 - 4 - 3 ) شناسايي سيستم هاي متعامل. 18
1 - 4 - 4 ) درك نيازهاي سيتم. 19
1 - 5 ) تحليل. 19
1 - 5 - 1 ) درك كاربرد سيستم. 19
1 - 5 - 2 ) واقعيت بخشيدن موارد كاربرد 20
1 - 5 - 3 ) پالايش نمودن نمودارهاي كلاس.. 20
1 - 6 ) طراحي. 20
1 – 6 – 1 ) توسعه نمودارهاي جزء 20
1 – 6 – 2 ) طرحي براي استقرار 21
1 – 6 – 3 ) طراحي و مدل نمونه واسط كاربر 21
1 – 6 – 4 ) شروع مستند سازي. 21
1 – 7 ) توسعه. 21
1 – 7 – 1 ) ساختن كد. 22
1 – 7 – 2 ) آزمون كد. 22
1 – 7 – 3 ) تكميل مستندات.. 22
فصل دوم : گردآوري نيازها 23
گردآوري نيازها ( Requirements gathering )
درك فرآيندهاي كاري. 26
تحليل حوزه و ميدان. 51
تحليل فرآيندكاري مصاحبه. 51
توسعه نمودار اوليه كلاس : 52
گروه بندي كلاس ها 54
شكل دادن تناظرها 56
تناظرهاي كلاس كاربر مالي. 56
تناظر كلاس پزشك داروساز 58
تناظرهاي كاربر فروش.. 59
تناظر مربوط به كلاس دكتر داروخانه. 60
تناظر كلاس مدير داروخانه. 61
تناظر كلاس كاربر آماده سازي. 62
شكل دادن به تجمع ها و تركيب ها 63
تكميل كلاس ها 63
نهايي كردن گردآوري نيازها 65
طراحي بسته عملكردي. 66
در بسته كاربر فروش، موارد كاربرد عبارتند از : 67
مورد كاربرد فروش داروي OTC..
مورد كاربرد فروش لوازم بهداشتي. 69
مورد كاربرد بايگاني رسيد. 70
مورد كاربرد گزارش فروش دارو و لوازم بهداشتي. 71
ثبت فاكتور مرجوعي. 72
ويرايش فاكتور 72
حذف فاكتور 74
در بسته كاربر مالي ، موارد كاربرد عبارتند از : 75
مورد كاربرد ثبت فاكتور و چاپ رسيد. 76
مورد كاربرد گزارش فروش صندوق. 77
مورد كاربرد محاسبه حقوق. 78
مورد كاربرد پرداخت مرجوعي. 79
در بسته عملكردي دكتر داروخانه خواهيم داشت : 80
مورد كاربرد ايجاد نسخه. 81
مورد كاربرد پيشنهاد داروي مشابه. 82
مورد كاربرد چاپ فاكتور 83
مورد كاربرد ثبت رسيد. 84
مورد كاربرد ثبت نسخه مرجوعي. 85
مورد كاربرد تهيه ليست نسخهها براي بيمه. 86
مورد كاربرد ثبت داروي جديد. 87
موارد كاربرد موجود در بسته كاربردي كاربر آماده سازي : 88
مورد كاربرد قيمت زني نسخه. 89
مورد كاربرد ويرايش نسخه. 91
مورد كاربرد گزارش موجودي اجناس.. 92
مورد كاربرد درخواست خريد دارو 93
مورد كاربرد ويرايش موجودي اجناس.. 95
ثبت موارد جديد. 96
ثبت موارد خريداري شده 97
ويرايش اجناس.. 98
كنترل تاريخ انقضاء اجناس.. 99
موارد كاربرد موجود در بسته مدير داروخانه عبارتند از : 100
مورد كاربرد قرارداد با بيمه. 101
مورد كاربرد ويرايش اطلاعات كاربران. 102
مورد كاربرد ويرايش اطلاعات بيمه. 103
مورد كاربرد ويرايش اطلاعات مربوط به سفارش دارو 104