پیش فاکتور دریافت فایل
تحقیق آشنایی با usecase ها
9928
10,000 تومان
.zip
118 کیلوبایت
توضیحات:
با توجه به مفاهيم كلاسها مورد مهمي در uml را بررسي ميكنيم كه همان usecase ها هستند. دراين فصل موضوعات زير مطرح ميشوند :
• usecase چيست
• ساختن يك usecase
• محتويات يك usecase
• extend يك usecase
• تحليل يك usecase
در گذشته با دياگرامهايي برخورد كرديم كه ديدگاه ثابتي در مورد كلاسهاي سيستم ارائه ميكرد. به سراغ دياگرامهايي ميرويم كه ديدگاهي پويا ارائه ميكند ونشان ميدهد چگونه سيستم و كلاسهايش با گذشت زمان تغيير ميكنند .ديدگاه ثابت به روابط بين تحليلگر و طراحان سيستم كمك ميكند و ديدگاه پويا به روابط بين تحليلگر وگروه طراحان كمك ميكند و به طراحان اجازه ميدهد كه برنامه بنويسند .
مشتري و تيم طراحان يك مجموعه مهم از امينان سيستم را تشكيل مي دهند. نه ديدگاه ثابت و نه ديدگاه پويا، كاركرد سيستم را از نقطه نظر كاربر نشان نميدهند. فهميدن اين ديدگاه كليدي است براي ساختن سيستمي كه مفيد وقابل استفاده باشد. اين ديدگاه تقاضاها را بررسي ميكند وكار كردن با آن آسان (و حتي جالب است) است.
مدل كردن سيستم از ديدگاه كاربر آن، كار usecase است . در اين فصل درباره اينكه usecase چيست و چه كاري انجام ميدهد صحبت ميكنيم و همچنين درباره چگونگي استفاده از دياگرام usecase در تصويرسازي در UML بحث ميكنيم .
2- 1 usecase ها چه هستند ؟
چندين سال قبل من يك فاكس خريدم. وقتي كه براي خريد به دفتر تهيهكننده رفته بودم با سطح وسيعي از انتخاب ها برخورد كردم. چگونه بايد تصميم خوبي ميگرفتم؟ از خودم پرسيدم ميخواهم با فاكس چه كاري انجام بدهم؟ چه مواردي را نياز دارم، چه اعمالي را ميخواهم با فاكس انجام بدهم؟ آيا ميخواهم كپي بگيرم؟ به كامپيوتر متصلش كنم؟ به عنوان scanner از آن استفاده كنم؟ ميخواهم فاكسها را به سرعت بفرستم، كه به سرعت شمارهگير احتياج داشته باشم؟ميخواهم تشخيص بدهم كه fax آمده يا كسي تلفن كرده است ؟
از مراحل يك پردازش مانند مراحل بالا وقتيكه يك خريد بدون انگيزه را ترتيب داديم گذشتيم. در تحليل يك فرم از usecase چه كاري انجام ميدهيم ؟ از خود ميپرسيم چگونه از يك محصول يا سيستم استفاده ميكنيم، تا پول خود را به خوبي خرج كنيم. بنابراين مهمترين چيز اين است كه نيازها را بشناسيم .
اين نوع پردازش مخصوصاً براي بخش آناليز سيستم طراحي شده است .چگونه كاربرها از درايور سيستم از همان راهي كه شما طراحي كردهايد و سيستم را ساختهايد استفاده مي كنند ؟
usecase يك ساختار است كه به تحليلگر سيستم كه با كاربر كار ميكند، كمك ميكند تا سيستم كاربرديي را طراحي كند .
اصطلاح جديد : usecase مجموعهاي از سناريوها است كه سيستم از آنها استفاده ميكند. هر سناريو يك ترتيب زماني از وقايع را شرح ميدهد. هر ترتيب زماني به وسيله شخصي يا سيستمي ديگر يا يك قطعهاي از سختافزار و يا بهوسيله گذر زمان بنا نهاده ميشود. موجوديتهاي كه ترتيب زماني را شروع ميكنند actor ناميده ميشوند. ترتيب زماني باعث ميشود كه استفادههاي ديگري از actor توسط كساني كه actor را بنا گذاشتهاند و يا توسط ديگر actor ها بشود .
3- 1 چراusecase ها مهم هستند ؟
تنها يك راه با ارزش براي تحريك مشتري به صحبت در مورد ديدگاهش درباره سيستم وجود دارد. usecase يك ابزار عالي براي تحريك مشتري است. معمولاً تحريك مشتري براي صحبت مفصل در مورد چگونگي استفادهاش از سيستم كار آساني نيست. چراكه توسعه سيستمهاي قديمي اغلب يك پردازش اتفاقي است، كه در تحليل بسيار كوتاه است. كاربرها برخي مواقع وقتي در مورد وروديهايشان از آنها سوال ميشود، گيج ميشوند . ايدهاي موجود اين است كه سيستمي كه كاربرها با آن كار ميكنند را در مراحل اوليه آناليز و تحليل سيستم در نظر بگيريم. اين كار احتمال اينكه سيستم در نهايت براي كاربر بهتر شود را بالا ميبرد ، مثل تعويض مفاهيم محاسباتي يك سيستم قديمي كه باعث گيج شدن كاربران براي كار با آن ميشود.
4- 1 يك مثال : ماشين نوشابه
فرض كنيد كه ميخواهيم يك ماشين نوشابه طراحي كنيم. براي بدست آوردن ديدگاه كاربران بايد با چند نفر از كاربران براي دانستن نحوه برخوردشان باسيستم مصاحبه كنيم. زيرا عمل اصلي ماشين اين است كه به مشتري اجازه ميدهد يك قوطي نوشابه بخرد ، بنابراين كاربران سريعاً به ما ميگويند كه مجموعهاي از سناريوها(به عبارتيusecase ها)را داريم كه احتمالاً عنوان ”خريد نوشابه“ را دارند. بنابراين هر سناريو ممكن را بررسي ميكنيم. توجه داريم كه در طراحي سيستم معمولي سناريوها در اثر صحبت با كاربر به وجود ميآيند.
1-4- 1 usecase خريد نوشابه
actor اين usecaseمشتري است، كه ميخواهد يك قوطي نوشابه بخرد. مشتري سناريو را با انداختن پول آغاز ميكند. سپس او امكان انتخاب دارد. اگر همه چيز به خوبي پيش برود دست كم يك قوطي نوشابه به مشتري تحويل داده ميشود.
با توجه به مراحل ترتيب زماني بايد به تصوير ديگري از سناريو توجه شود. چه پيش زمينهاي باعث تحريك مشتري براي آغاز كردنusecase خريد نوشابه ميشود؟ تشنگي يكي از شرايط آشكار است. چه شرايط بعدي لازمه مراحل سناريو است؟ دوباره آشكارترين مورد اين است كه مشتري يك نوشابه دارد. آيا سناريويي كه تعريف كرديم تنها سناريو ممكن براي اين مسئله است؟ موارد ديگري هم سريعاً به ذهن ميآين . ممكن است نوشابه ديگري غير از آنچه مشتري خواسته تحويل داده شود. ممكن است مشتري پول كافي براي قيمت نوشابه را وارد نكرده باشد. چگونه ميتوان ماشين را با اين سناريو طراحي كرد؟
به مرحله ديگر از usecase خريد نوشابه ميرويم. به سراغ سناريو alternative ميرويم. مشتري usecase را با انداختن پول به داخل ماشين آغاز ميكند. سپس امكان انتخاب دارد، اما ماشين در انتها قوطي نوشابهاي كه انتخاب شده را تحويل نميدهد و به مشتري پيام ميدهد كه پول خارج از محدوده ماشين است. پيام بايد به گونهاي باشد كه مشتري را براي انتخاب ديگر تحريك كند. همچنين ماشين بايد پيشنهادي براي پس دادن پول به مشتري بدهد. در اين جا، مشتري نوشابه ديگري را انتخاب ميكند و ماشين آن را تحويل ميدهد (اگر انتخاب جديدي صورت نگيرد نوشابه نيز فروخته نميشود) و يا عمل تحويل پول اتفاق ميافت . شرايط بعدي، تحويل يك قوطي نوشابه يا تحويل پول است.
سناريو ديگري نيز ممكن است اتفاق بيفتد. ”خارج از محدوده“ پيامي است كه زمانيكه ماشين موجودي نداشته باشد نمايان ميشود و در اين مرحله باقي ميماند تا زماني كه دوباره پر شود و بتواند نوشابه را تحويل دهد. در اين مرحله ممكن است كه مشتري پول را نيانداخته باشد. مشتري كه ما ماشين را برايش طراحي كردهايم ممكن است سناريو اول را ترجيح بدهد. اگر مشتري پول را وارد ماشين كرده ممكن است مايل باشد انتخاب ديگري انجام بدهد، تا اينكه در مورد پس دادن پول از او سوال شود.
سناريوي ديگري را بررسي ميكنيم كه مقدار پول به اندازه قيمت نوشابه نباشد. دوباره مشتري usecase را آغاز ميكند، كه مراحل معمولي را تكرار ميكند و يك انتخاب ميكن . فرض ميكنيم نوشابه انتخابي موجود باشد. اگر ماشين اندوخته پولي داشته باشد تا بتوند پول را خرد كند، بقيه پول را پس ميدهد و نوشابه را هم تحويل ميدهد. حال اگر اندوخته پول نداشته باشد، پول را برميگرداند و پيامي ميدهد كه از مشتري ميخواهد پول كافي را وارد كند. شرايط قبلي حالات معمولي است. شرايط بعدي تحويل نوشابه با مابقي پول است و هم ماشين كل پول را پس ميدهد، ميباشد.
امكان ديگر اين است كه اندوخته پول ماشين تمام شده باشد. يك پيام از مشتري ميخواهد كه پول كافي را وارد كند. ممكن است اين پيام تا هنگامي كه اندوخته ماشين پر شود نمايان باشد.
2-4- 1 Usecaseهاي اضافي
ماشين خريد نوشابه را از ديدگاه مشتري بررسي كرديم. علاوه بر مشتري كاربران ديگري هم وجود دارند . يكي از آنها تهيهكننده است كه در ماشين نوشابه ميگذارد و ديگري تحصيلدار است، (ممكن است همان تهيهكننده باشد) كه پولهاي جمع شده در ماشين را جمع آوري ميكن .
اين مورد روشن ميكند كه حداقل دو usecase ،اضافهتر بايد ساخته شود. موجودي داخل ماشين گذاشتن وجمعآوري پول ماشين كه جزئيات آنها در اثر صحبت با تهيهكننده و تحصيلدار روشن ميشود.
usecase گذاشتن نوشابه داخل ماشين را بررسي ميكنيم. تهيهكننده يك usecaseرا آغاز ميكند، زيرا مدتي از كاركرد ماشين گذشته است. تهيهكننده قفل ماشين را باز ميكند (كه پيادهسازي نميشود)، قسمت جلويي ماشين باز ميكند و ظرفيت ماشين را پر ميكند. تهيهكننده اغلب اندوخته پول را هم خالي ميكند. سپس قسمت جلويي ماشين را ميبندد و ماشين را قفل ميكند. شرايط قبلي در مدت قبلي اجرا ميشود، شرايط بعدي اين است كه تهيهكننده مجموعه جديدي از اجناس را داشته باشد.
براي usecase جمعآوري پول، تحصيلدار يك usecase را آغاز ميكند، زيرا مدتي از كار ماشين گذشته است. تحصيلدار مراحلي را كه براي موجودي گذاشتن داخل ماشين وجود داشت را با باز كردن قفل و قسمت جلويي ماشين طي ميكند. سپس تحصيلدار پول را برميدارد و مراحل بستن قسمت جلويي ماشين و قفل كردن آن را مانند مراحل usecase گذاشتن نوشابه داخل ماشين طي ميكند. شرايط قبلي گذشتن مدتي از كار ماشين و شرايط بعدي برداشتن پول توسط تحصيلدار است.
توجه داريم كه هنگاميكه يك usecase را ميسازيم نبايد نگران تكميل آن باشيم. در مثالي كه زديم به داخل ماشين توجهي نكرديم. به اينكه يخچال ماشين چگونه كار ميكند توجهي نداشتيم، يا در جريان پول داخل ماشين نبوديم. ما فقط تلاش كرديم كه ببينيم يك ماشين نوشابه با فردي كه ميخواهد از آن استفاده كند چگونه رفتار ميكند. هدف گرفتن مجموعهاي از usecaseها است كه سرانجام به افرادي كه ميخواهند ماشين را طراحي كنند و افرادي كه مي خواهند ماشين را بسازند ارائه ميشود. گسترش دادن usecaseها برآنچه مشتري، تهيهكننده و تحصيلدار ميخواهند تاثير ميگذارد و نتيجه ماشيني است كه تمام اين گروهها به راحتي ميتوانند از آن استفاده كنند.
ادامه... .
1403/8/21 - مارکت فایل