moji5
24th February 2010, 04:16 PM
http://www.jamejamonline.ir/Media/images/1388/12/02/100868041603.jpg
در فضاي توليدات نرمافزاري يکي از دغدغههاي اساسي توليدکنندگان در نظرگرفتن مسائل مرتبط با زمان توليد نرمافزار و در عين حال حفظ کيفيت محصولات، جهت برآوردهسازي کامل نيازهاي مشتريان است. شرکتهاي نرمافزاري غالبا بهخاطر پاسخگويي به خواست مشتريان و كاهش هزينههاي توليد، تغييراتي را در کيفيت محصولات خود اعمال ميكنند که اين امر خود باعث بروز مسائل بسياري در دنياي کنوني نرمافزار شده است.
براي توليد يک نرمافزار، اصول و قوانين خاصي وجود دارد که روي هم رفته، پروسه توليد را مطابق با استانداردها و براي دستيابي به محصولي با بهترين كيفيت هدايت ميکند. متدولوژيها تيمهاي نرمافزاري را در جهت رسيدن به اين هدف ياري ميرسانند و در فرآيند توسعه نرمافزار همچون يک نقشه، مسير حرکت را مشخص ميكنند. همچنين فعاليت افراد را برنامهريزي كرده و معين ميكنند كه چگونه و براي توليد چه خروجيهايي در بازه زماني مورد نظر، سازماندهي شوند؟
از معروفترين و بهروزترين رويکردهايي که امروزه در پروسههاي نرمافزاري بهکار گرفته ميشود، ميتوان به فرآيند يکپارچه رشنال (1RUP) اشاره كرد که با ديدگاهي مشتريگرا در بهينهسازي فرآيندهاي توليد محصول، به تيمهاي نرمافزاري کمک ميکند و با فراهم آوردن اصول و قواعدي يکپارچه، روي توليد بهترين محصولات تمرکز ميکند.
RUP، يک فرآيند توليد نرمافزار است که خود نيز بهعنوان يک محصول قابل ارائه بوده و دربرگيرنده بهترين تجربيات در عمل است. در واقع اين محصول يک متدولوژي است که با ديدگاهي مديريتي و منطبق بر مفاهيمي مانند شيءگرايي، کنترل و انجام موفق پروژههاي نرمافزاري را امکانپذير ميسازد و قابليت بوميسازي براي سازمانها و شرکتها را فرآهم ميآورد. از ديگر ويژگيهاي مهم آن ميتوان به انعطافپذيري آن اشاره كرد.
اين محصول، بهعنوان متدولوژي توسعه برنامهها و شيءگرايي توسط شرکت نرمافزاري رشنالرز2، ارائه شده است. فرآيند يکپارچه رشنال در حقيقت يک ابزار مهندسي نرمافزار است که زمينههاي توسعه مانند دستورالعملها، کدها، مدلها و غيره را با مواردي از قبيل تکنيکها، مکانيزمها، مراحل تعريف شده و شيوهها، در چارچوبي يکپارچه ترکيب ميكند. اين متدولوژي يک چارچوب براي پروژه فراهم ميآورد که کلاسهايي از فرآيندها را بهطور افزايشي و چرخشي مطرح ميکند.
بر اساس رويکردRUP، توسعه نرمافزار در نگاهي کلي، شامل 4فاز ميشود:
1 فاز شناخت
3: مبتني بر ارزيابي نيازها، قابليت دوام، امکانپذيري و نيازمنديهاي يک پروژه يا برنامه است. 2 فاز تفضيل
4: معماري مناسب سيستم را بر اساس نيازهاي پروژه اندازهگيري ميکند. 3 فاز پيادهسازي
5: نسخه اوليه از نرمافزار توسعه يافته را ارائه ميدهد. 4 فاز انتقال
6: چرخه توسعه نرمافزار را در صورتيکه تمامي اهداف پروژه تامين شود، پايان ميدهد. اين فاز با آموزش کاربران نهايي، آزمونهاي بتا و پيادهسازي سيستم در ارتباط است. RUP، براي آميختن 6روش از بهترين روشهاي صنعت نرمافزار و براي توسعه نرمافزار طراحي شده که بهشدت بر طراحي شيءگرايي تاکيد ميكند. اساسا در طراحي پروژههاي نرمافزاري، 6ايده وجود دارد که نقصها و خطاها را کاهش ميدهد و توليد بهينه را فراهم ميکند. اين روشها را در زير بيان خواهيم كرد.
1 توسعه تکرارشونده:
چرخهها براي افزودن اطلاعات بيشتر يا ايجاد تسهيلاتي براي فرآيندها ايجاد شدهاند که در مراحل بعدي در توسعه نرمافزار اضافه ميشوند. تکرارها، نرمافزارها را به سمتي ميبرند که به زيرسيستمهايي قابل ارائه به ذينفعان پروژه در مراحل مختلف توليد نرمافزار تبديل شوند. در حقيقت نبايد تنها بهصورت يک زيرسيستم ديده شوند. بازه زماني هر چرخه به نوع پروژه در دست اقدام بستگي دارد، البته رويه کلي، داشتن تکرارهاي کوتاه در مقايسه با تکرارهاي بلند است زيرا بازخوردهاي سريعتر و بهموقعتري را براي تيم پروژه فراهم ميآورد. نکته قابل توجه در تکرارهايRUP، انجام تمامي فعاليتهاي مربوط به RUP شامل مدلسازي کسبوکار، تحليل نيازمنديها، تحليل، طراحي، پيادهسازي و آزمون در هر تکرار است. 2 نيازمنديها:
گردآوري نيازمنديها به منظور موفقيت هر پروژه ضروري است. نيازهاي کاربران نهايي، بايد بهطور کامل در سيستم تامين شود. 3 مولفهها:
پروژههاي بزرگ، هنگامي که به مولفهها تقسيم ميشوند، راحتتر آزمايش ميشوند و قادرند بهطور قاعدهمند درون سيستمهاي بزرگتر قرار گيرند. مولفهها، استفاده مجدد از کد را هنگام استفاده از برنامهنويسي شيءگرا، امکانپذير ميسازد. 4 طراحي مدلهاي بصري:
بسياري از پروژهها، زبان مدلسازي يکپارچه (UML) را براي اجراي تحليل و طراحي شيءگرا، مورد استفاده قرار ميدهند، چراکه شامل نمودارهايي است که بهطور بصري تمامي مولفههاي اصلي را نمايش ميدهد. 5 مديريت خطا و کيفيت:
آزمايش به منظور کشف خطاها و تامين کيفيت، يک بخش از توسعه نرمافزاري است. تعدادي از الگوهاي آزمون که بايد توسعه يابند وجود دارند که آمادگي نرمافزار را براي انتشار ميسنجند. 6 تغييرات سنکرونيزه شده:
تمام مولفههايي که توسط تيمهاي جداگانه ايجاد ميشوند، چه از طريق مکانهاي مختلف يا بر اساس پلت فرمهاي گوناگون، بهطور دائمي نيازمند «سنکرونيزه شدن» و وارسي هستند.
جمعبندي
متدولوژي فرآيند يکپارچه رشنال، بهسرعت در حال تبديل شدن به يک روش توسعه نرمافزاري مطرح است که منطبق بر فرآيندها و شيوههاي کسبوکار عمل ميکند.
رويکرد توسعه فرآيند يکپارچه رشنال (RUP) به دلايل زيادي، بسيار موفق بوده و از جمله روشهاي نرمافزاري است که اکنون مورد پذيرش در عرصه جهاني است.
فرآيند توسعه کلي، تغييرات نيازمنديها را در نظر ميگيرد و تيم را گردهم ميآورد.
در اين روش، ريسکها و خطاها نه تنها کشف ميشوند، بلكه ميتوانند بعد از شناسايي، کاهش يابند و در طي فرآيند يکپارچهسازي حذف شوند.
همانطوريکه نقصها هنگام فرآيند شناسايي ميشوند، با بهکارگيري تکرارهاي چندگانه (چرخشها) که از خصوصيات مطرح اين رويکرد است، خطاها و تنگناهاي اجرايي رفع ميشوند.
RUP، يک مدل نمونه اوليه در اتمام هر تکرار فراهم ميآورد که سنکرون كردن و پيادهسازي تغييرات را براي توسعهدهندگان آسان ميکند.
با در نظر گرفتن خصوصيات و ويژگيهاي بينظير RUP و قابليتهاي اين فرآيند يکپارچه، بهکارگيري صحيح آن در توليدات نرمافزاري آينده، ميتواند راهکاري موفق و آيندهنگر براي دنياي نرمافزاري پيشرو باشد.
پينوشت
1. Rational Unified Process
2. Rational Rose
3. Inception
4. Elaboration
5. Construction
6. Transition
در فضاي توليدات نرمافزاري يکي از دغدغههاي اساسي توليدکنندگان در نظرگرفتن مسائل مرتبط با زمان توليد نرمافزار و در عين حال حفظ کيفيت محصولات، جهت برآوردهسازي کامل نيازهاي مشتريان است. شرکتهاي نرمافزاري غالبا بهخاطر پاسخگويي به خواست مشتريان و كاهش هزينههاي توليد، تغييراتي را در کيفيت محصولات خود اعمال ميكنند که اين امر خود باعث بروز مسائل بسياري در دنياي کنوني نرمافزار شده است.
براي توليد يک نرمافزار، اصول و قوانين خاصي وجود دارد که روي هم رفته، پروسه توليد را مطابق با استانداردها و براي دستيابي به محصولي با بهترين كيفيت هدايت ميکند. متدولوژيها تيمهاي نرمافزاري را در جهت رسيدن به اين هدف ياري ميرسانند و در فرآيند توسعه نرمافزار همچون يک نقشه، مسير حرکت را مشخص ميكنند. همچنين فعاليت افراد را برنامهريزي كرده و معين ميكنند كه چگونه و براي توليد چه خروجيهايي در بازه زماني مورد نظر، سازماندهي شوند؟
از معروفترين و بهروزترين رويکردهايي که امروزه در پروسههاي نرمافزاري بهکار گرفته ميشود، ميتوان به فرآيند يکپارچه رشنال (1RUP) اشاره كرد که با ديدگاهي مشتريگرا در بهينهسازي فرآيندهاي توليد محصول، به تيمهاي نرمافزاري کمک ميکند و با فراهم آوردن اصول و قواعدي يکپارچه، روي توليد بهترين محصولات تمرکز ميکند.
RUP، يک فرآيند توليد نرمافزار است که خود نيز بهعنوان يک محصول قابل ارائه بوده و دربرگيرنده بهترين تجربيات در عمل است. در واقع اين محصول يک متدولوژي است که با ديدگاهي مديريتي و منطبق بر مفاهيمي مانند شيءگرايي، کنترل و انجام موفق پروژههاي نرمافزاري را امکانپذير ميسازد و قابليت بوميسازي براي سازمانها و شرکتها را فرآهم ميآورد. از ديگر ويژگيهاي مهم آن ميتوان به انعطافپذيري آن اشاره كرد.
اين محصول، بهعنوان متدولوژي توسعه برنامهها و شيءگرايي توسط شرکت نرمافزاري رشنالرز2، ارائه شده است. فرآيند يکپارچه رشنال در حقيقت يک ابزار مهندسي نرمافزار است که زمينههاي توسعه مانند دستورالعملها، کدها، مدلها و غيره را با مواردي از قبيل تکنيکها، مکانيزمها، مراحل تعريف شده و شيوهها، در چارچوبي يکپارچه ترکيب ميكند. اين متدولوژي يک چارچوب براي پروژه فراهم ميآورد که کلاسهايي از فرآيندها را بهطور افزايشي و چرخشي مطرح ميکند.
بر اساس رويکردRUP، توسعه نرمافزار در نگاهي کلي، شامل 4فاز ميشود:
1 فاز شناخت
3: مبتني بر ارزيابي نيازها، قابليت دوام، امکانپذيري و نيازمنديهاي يک پروژه يا برنامه است. 2 فاز تفضيل
4: معماري مناسب سيستم را بر اساس نيازهاي پروژه اندازهگيري ميکند. 3 فاز پيادهسازي
5: نسخه اوليه از نرمافزار توسعه يافته را ارائه ميدهد. 4 فاز انتقال
6: چرخه توسعه نرمافزار را در صورتيکه تمامي اهداف پروژه تامين شود، پايان ميدهد. اين فاز با آموزش کاربران نهايي، آزمونهاي بتا و پيادهسازي سيستم در ارتباط است. RUP، براي آميختن 6روش از بهترين روشهاي صنعت نرمافزار و براي توسعه نرمافزار طراحي شده که بهشدت بر طراحي شيءگرايي تاکيد ميكند. اساسا در طراحي پروژههاي نرمافزاري، 6ايده وجود دارد که نقصها و خطاها را کاهش ميدهد و توليد بهينه را فراهم ميکند. اين روشها را در زير بيان خواهيم كرد.
1 توسعه تکرارشونده:
چرخهها براي افزودن اطلاعات بيشتر يا ايجاد تسهيلاتي براي فرآيندها ايجاد شدهاند که در مراحل بعدي در توسعه نرمافزار اضافه ميشوند. تکرارها، نرمافزارها را به سمتي ميبرند که به زيرسيستمهايي قابل ارائه به ذينفعان پروژه در مراحل مختلف توليد نرمافزار تبديل شوند. در حقيقت نبايد تنها بهصورت يک زيرسيستم ديده شوند. بازه زماني هر چرخه به نوع پروژه در دست اقدام بستگي دارد، البته رويه کلي، داشتن تکرارهاي کوتاه در مقايسه با تکرارهاي بلند است زيرا بازخوردهاي سريعتر و بهموقعتري را براي تيم پروژه فراهم ميآورد. نکته قابل توجه در تکرارهايRUP، انجام تمامي فعاليتهاي مربوط به RUP شامل مدلسازي کسبوکار، تحليل نيازمنديها، تحليل، طراحي، پيادهسازي و آزمون در هر تکرار است. 2 نيازمنديها:
گردآوري نيازمنديها به منظور موفقيت هر پروژه ضروري است. نيازهاي کاربران نهايي، بايد بهطور کامل در سيستم تامين شود. 3 مولفهها:
پروژههاي بزرگ، هنگامي که به مولفهها تقسيم ميشوند، راحتتر آزمايش ميشوند و قادرند بهطور قاعدهمند درون سيستمهاي بزرگتر قرار گيرند. مولفهها، استفاده مجدد از کد را هنگام استفاده از برنامهنويسي شيءگرا، امکانپذير ميسازد. 4 طراحي مدلهاي بصري:
بسياري از پروژهها، زبان مدلسازي يکپارچه (UML) را براي اجراي تحليل و طراحي شيءگرا، مورد استفاده قرار ميدهند، چراکه شامل نمودارهايي است که بهطور بصري تمامي مولفههاي اصلي را نمايش ميدهد. 5 مديريت خطا و کيفيت:
آزمايش به منظور کشف خطاها و تامين کيفيت، يک بخش از توسعه نرمافزاري است. تعدادي از الگوهاي آزمون که بايد توسعه يابند وجود دارند که آمادگي نرمافزار را براي انتشار ميسنجند. 6 تغييرات سنکرونيزه شده:
تمام مولفههايي که توسط تيمهاي جداگانه ايجاد ميشوند، چه از طريق مکانهاي مختلف يا بر اساس پلت فرمهاي گوناگون، بهطور دائمي نيازمند «سنکرونيزه شدن» و وارسي هستند.
جمعبندي
متدولوژي فرآيند يکپارچه رشنال، بهسرعت در حال تبديل شدن به يک روش توسعه نرمافزاري مطرح است که منطبق بر فرآيندها و شيوههاي کسبوکار عمل ميکند.
رويکرد توسعه فرآيند يکپارچه رشنال (RUP) به دلايل زيادي، بسيار موفق بوده و از جمله روشهاي نرمافزاري است که اکنون مورد پذيرش در عرصه جهاني است.
فرآيند توسعه کلي، تغييرات نيازمنديها را در نظر ميگيرد و تيم را گردهم ميآورد.
در اين روش، ريسکها و خطاها نه تنها کشف ميشوند، بلكه ميتوانند بعد از شناسايي، کاهش يابند و در طي فرآيند يکپارچهسازي حذف شوند.
همانطوريکه نقصها هنگام فرآيند شناسايي ميشوند، با بهکارگيري تکرارهاي چندگانه (چرخشها) که از خصوصيات مطرح اين رويکرد است، خطاها و تنگناهاي اجرايي رفع ميشوند.
RUP، يک مدل نمونه اوليه در اتمام هر تکرار فراهم ميآورد که سنکرون كردن و پيادهسازي تغييرات را براي توسعهدهندگان آسان ميکند.
با در نظر گرفتن خصوصيات و ويژگيهاي بينظير RUP و قابليتهاي اين فرآيند يکپارچه، بهکارگيري صحيح آن در توليدات نرمافزاري آينده، ميتواند راهکاري موفق و آيندهنگر براي دنياي نرمافزاري پيشرو باشد.
پينوشت
1. Rational Unified Process
2. Rational Rose
3. Inception
4. Elaboration
5. Construction
6. Transition