مقاله مهندسی نرم افزار و روش های آن


دنلود مقاله و پروژه و پایان نامه دانشجوئی

مقاله مهندسی نرم افزار و روش های آن مربوطه  به صورت فایل ورد  word و قابل ویرایش می باشد و دارای ۴۶  صفحه است . بلافاصله بعد از پرداخت و خرید لینک دانلود مقاله مهندسی نرم افزار و روش های آن نمایش داده می شود، علاوه بر آن لینک مقاله مربوطه به ایمیل شما نیز ارسال می گردد

 فهرست

فصل اول
مهندسی نرم افزار و روشهای آن   ۷
۱-۱ مهندسی نرم افزارچیست ؟      ۷
۲-۱ ساخت یافتگی ومهندسی نرم افزارساخت یافته     ۷
۳-۱ شیء گرایی ومهندسی نرم افزار شیء گرا     ۸
۴-۱ معرفی Unified Modeling Language            ۸
۵-۱ تصورات غلط دررابطه با Rational Unified Process         ۹
فصل دوم
مقدمه ای بر( RUP)RationalUnified Process            ۱۱
۱-۲ RUP چیست ؟         ۱۱
۲-۲ اصول ضروری RationalUnified Process            ۱۱
۳-۲ RUP وچرخه تکرار      ۱۲
۴-۲ فازها، اهداف ونکات اصلی       ۱۴
– فازشروع ( Inception )      ۱۴
– فازشناخت ( Elaboration )      ۱۵
– فازساخت (Constructin)      ۱۵
– فازانتقال ( Transition )      ۱۵
۵-۲ نکات اصلی            ۱۵
– چهارعنصراصلی مدل سازی          ۱۵
۶-۲ نقش ها، فعالیت ها ومحصولات وجریان های کاری               ۱۶
– نقش ها(Roles )     ۱۶
– فعالیت ها(Activites)            ۱۶
– محصولات (Artifacts )   ۱۷
– جریان های کاری (Workflows )               ۱۷
۷-۲ عناصردیگرموجود در RUP   ۱۷
۸-۲ ساختارایستای RUP   ۱۸
۹-۲ اصول RUP (جریان کاری )            ۱۸
۱۰-۲ تعریف کلی RUP             ۱۹
۱۱-۲ چگونه می توان از RUPنهایت استفاده راکرد        ۱۹
۱۲-۲ مواردضروری دریک پروژه RUP            ۲۰
۱-۱۲-۲ توسعه دید ونگرش           ۲۰
۲-۱۲-۲ مدیریت برای اهداف               ۲۱
۳-۱۲-۲ شناسایی وامکان سنجی ریسک ها         ۲۲
۴-۱۲-۲ عوامل مورد پیگیری          ۲۲
۵-۱۲-۲ امتحان کردن حالت تجاری           ۲۲
۶-۱۲-۲ طراحی معماری قطعات سیستم             ۲۳
۷-۱۲-۲ مراحل ساخت وآزمایش محصول            ۲۴
۸-۱۲-۲ تصحیح وبازبینی نتیجه ها           ۲۴
۹-۱۲-۲ مدیریت وکنترل تغییرات           ۲۴
۱۰-۱۲-۲ مهیا کردن پشتیبانی ازکاربر           ۲۵
۱۳-۲ چرخه اصلی  Rational Unified Process            ۲۵
۱-۱۳-۲ تصورغلط          ۲۵
۲-۱۳-۲ نکته مهم          ۲۶
۳-۱۳-۲ جریان های کاری غیرثابت    ۲۷
فصل سوم
فازهای RUP          ۲۸
۱-۳ مقدمه   ۲۸
۲-۳ فاز  Inception         ۲۸
۱-۲-۳ فعالیت های لازم وضروری درفاز Inception           ۲۹
۲-۲-۳ حیاتی ترین نکات (گلوگاه ها) درچرخۀ حیات  Inception      ۳۰
۳-۲-۳- ارزیابی معیارها وضوابط     ۳۰
۴-۲-۳ خروجی های الزامی فاز  Inception     ۳۱
۵-۲-۳ طرح توسعه نرم افزار (Software Development Plan )      ۳۱
۶-۲-۳ خروجی های اختیاری فاز  Inception             ۳۳
۳-۳ فاز  Elaboration      ۳۳
۱-۳-۳ فعالیت های ضروری درفاز  Elaboration            ۳۴
۲-۳-۳ ساختارچرخه حیات فاز Elaboration              ۳۵
۳-۳-۳ ارزیابی معیارها        ۳۵
۴-۳-۳ محصولات وخروجی های الزامی این فاز             ۳۶
۵-۳-۳ خروجی های اختیاری این فاز      ۳۸
۴-۳ فازساخت   Construction               ۳۹
۱-۴-۳ ذهنیت مقدماتی ازفاز  Constructin           ۳۹
۲-۴-۳ فعالیت های ضروری درفاز Constructin    ۴۰
۳-۴-۳ نکات مهم درفاز Constructin         ۴۰
۴-۴-۳ معیارارزیابی           ۴۰
۵-۴-۳ خروجی های الزامی فاز Constructin              ۴۱
۶-۴-۳ خروجی های اختیاری فاز Constructin     ۴۲
۵-۳ فاز انتقال Transition       ۴۲
۱-۵-۳ فعالیت های ضروری فاز Transition      ۴۴
۲-۵-۳  ارزیابی معیارها          ۴۴
۳-۵-۳  خروجی های فاز Transition           ۴۵
منابع و مأخذ    ۴۷

۱-۱ مهندسی نرم افزار چیست ؟

مهندسی نرم افزار، مدیریت برای به نظم درآوردن وقاعده مند نمودن وابستگی ها وارتباطات همه جنبه های محصول نرم افزاری که درتمامی مراحل سیستم شنا سایی وتعیین می گردد ، می باشد .

درواقع مهندسی نرم افزارفرایند تولید نرم افزار براساس فهم مسائل ومشکلات ، دستیابی به راه حل ها ودستیابی به تئوریها ، روش ها وابزارهای مورد نیاز ودرانتها رسیدن به هدف مطلوب می باشد .

مهندسی نرم افزارباید درطول ساخت ، نگهداری توسعه وانفصال یک نرم افزار برهمه عملکردها نظارت داشته باشد .

۲-۱ ساخت یافتگی ومهندسی نرم افزارساخت یافته

در رهیافت طراحی نرم افزار بر اساس روش ساحت یافته، ابتدا به مسئله در حالت کلی نگاه می شود، آنگاه مسئله به قسمت های کوچکتر شکسته می شود، این کار آنقدر تکرار می گردد تا مسائل خرد شده به اندازه کافی قابل فهم و ساده باشند. این مراحل  به تجزیه عملیاتی معروف است. بیشتر اجزاء (توابع) در این روش نیاز به داده ها دارند که در سیستم عملیات در بانک های اطلاعاتی نگهداری می شوند. در واقع در این روش داده ها و توابع عملیاتی از هم تفکیک می گردند. پس از حل مسائل کوچکتر و ترکیب آنها با هم، مسئله اصلی قال حل خواهد بود.

مشکل اساسی در این رهیافت این است که اگر مسائل پیچیده باشد، سیستم در نگهداری اطلاعات با مشکل مواجه می شود. اگر در این سیستم ها نیاز باشد که تغییری صورت گیرد، این تغییر در مکان های زیادی باید اعمال گردد. در این صورت مشکلات تقریباً بزرگی به وجود می آید.

مهندسی نرم افزار ساخت یافته نیز بر اصول ذکر شده فوق مبتنی است. از جمله متدلوژی های مهندسی نرم افزار می توان به دو روش

( (structured Systems Analysis & Design Method  SSADM روش تحلیل و طراحی سیستم های ساخت یافته و (Jackson System Development)      JSD توسعه سیستم جکسون، اشاره نمود.

۳-۱ شی ء گرایی و مهندسی نرم افزار شیء گرا 

از دید شیء گرایی داده ها و توابع به هم  مرتبط  هستند  و  در  یک  ماژول  قرار  می گیرند. در واقع هریک از این ماژول ها که مجموعه داده ها و توابع هستند که شیء نامیده می شوند. اشیاء در دنیای واقعی نیز می توانند به وسیله دو چیز مشخص گردند (مشخصه و رفتار).

اصول بنیادی که در شیء گرایی با آن مواجه هستیم، اشیاء، کلاس ها و وراثت می باشند. ایده شیء گرایی نیز به دنیای مهندسی نرم افزار راه یافته است و بر این اساس روش های مختلف مهندسی نرم افزار به وجود آمده است. که از آن جمله می توان به موارد ذیل اشاره نمود :

–  (object Modeling Technique) OMT

– (Real – time Object – Oriented Modeling ) ROOM

-Object – Oriented  Software Engineering ) OOSE)

-(Unified Modeling Language) UML

بدلیل آنکه از UML در مراحل توسعه نرم افزار (RUP) استفاده می گردد، در این قسمت جا دارد که در مورد UML توضیحات بیشتری بدهیم.

۴-۱ معرفی Unified Modeling Language

در میانه دهه نود، سه روش وجود داشت که از بقیه قویتر به نظر می رسید. این سه زبان که شروع به همگرایی کرده بودند، هریک دارای عناصری از دو روش دیگر نیز بود و دارای توانایی های منحصر بفردی نیز بودند :

–           Booch برای طراحی و پیاده سازی عالی به نظر می رسید. گرچه روش بوچ خیلی قوی بود ولی علائم زبان به سختی درک می شد.

–           OMT (تکنیک مدل سازی اشیاء) برای تجزیه و تحلیل بسیار عالی بود و بهترین روش برای سیستم های اطلاعاتی دارای داده های حساس به نظر می رسید.

–           OOSE (مهندسی نرم افزار به روش شیء گرا)  به عنوان یک مزیت به مدل Use Case معروف است. Use Case تکنیک توانمندی برای درک رفتار کل سیستم هستند. (محدوده ای که شیء گرایی به طور سنتی در آن ضعیف بود)

     در سال ۱۹۹۴ Gim Rumbaugh تاسیس کننده OMT و در سال ۱۹۹۵ Ivar Jacobson بنیانگذار OOSE هم به گروه Booch در شرکت Rational پیوست. بدین ترتیب گروه سه نفر بوچ ، رامبو و جاکوبسن مدل یکپارچه UML را به وجود آوردند.

UML یک  زبان  استاندارد برای مدل سازی اشیاء در توسعه سیستم های شی ء گرا می باشد. UML از ترکیب و اتحاد سه متدلوژی و طراحی شیء گرای فوق به وجود آمده است.

هدف اصلی UML ایجاد یک زبان مشترک برای مهندسان و تولیدکنندگان نرم افزار در تحلیل و طراحی سیستم های شیء گراست.

۵-۱ تصورات غلط در رابطه با Rational Unified Process

علی رغم آنکه اغلب افراد تصور می کنند RUP یک متدلوژی و یا روش مهندسی نرم افزار است، باید اظهار داشت که این تصور و برداشت کاملاً نادرست می باشد.

RUP  خود یک مدل از مهندسی نرم افزار است که بر تکرار و توسعه استوار است و هریک از متدها می تواند در قالب این مدل تکرار و توسعه نقش بگیرد. چنانچه قبلاً اظهار شد UML به  عنوان  زبان  یکپارچه  ساز و روشی شی ء گرا در مدل RUP استفاده می گردد. در واقع RUP استفاده می گردد. در واقع RUP رویکردها، وظایف و مسئولیت ها را در یک سازمان توسعه یافته نظام دهی می کند و هدف آن تضمین تولید محصول نرم افزاری خروجی با کیفیت بالا و منطبق بر نیازمندی های کاربران در زمان و هزینه پیش بینی شده می باشد. در واقع RUP پروسه تولید است و توسط شرکت نرم افزاری Rational پشتیبانی می گردد.

فصل دوم

 مقدمه ای بر Rational Unified Process(RUP)

1-2- RUP چیست؟

با پرسیدن این سوال، بنابر اینکه چه کسی و در چه موقعیتی می باشد، پاسخ های متفاوتی خواهید شنید. RUP دارای سه مشخصه بارز می باشد، که عبارتند از :

RUP عاملی است برای  توسعه  نرم افزار  که  دارای  تکرار  معماری و Use case می باشد و بهترین منبع در ارتباط با RUP خود نرم افزار Rational Rose می باشد که شامل راهنما، مثال و … می باشد.
RUP  یک فرآیند مهندسی نرم افزار خوش ساختار و خوش تعریف می باشد. و به وضوح معین می کند که چه کسی مسئول چه کاری می باشد و چگونه و در چه زمانی مسئولیت خود را باید انجام دهد به کمک RUP مراحل مهم پروژه و نکات اصلی به سرعت شناخته می شود.
RUP یک فرآیند تولید است که به شما امکان تغییرات دلخواه و منطقی را می دهد. RUP  شامل فرآیندهای گوناگونی است و با تنظیمات RUP می توان تیم های بزرگ  و  یا کوچک را توسعه داد. RUP افراد ذیل را در انجام پروژه ها یاری می کند :

الف) تحلیل گران Analysts

ب) توسعه دهندگان Developer

پ) تست کنندگان Testers

ت) مدیران پروژه و اعضای دیگر تیم   project Managers

2-2 اصول ضروری Rational Unified Process

· بر مشکلات غلبه کنید و در غیر این صورت آنها بر شما غلبه خواهند کرد.
· مطمئن شوید که شما ارزش ها را به مشتریان می فهمانید.
· به نرم افزارهای اجرایی توجه کنید.
· تغییرات را با پروژه وفق دهید.
· یک معماری ثابت بنا کنید.
· پروژه را به اجزای مختلف ( Componets) تبدیل کنید.
· همه با هم یک تیم را تشکیل دهید.
· کیفیت را برای همیشه بخواهید و نه برای یک لحظه

۳-۲ RUP  و چرخه تکرار

امروزه تیم های نرم افزاری نیز وجود دارند که از روش آبشاری (waterfall) استفاده می کنند، بدین معنا که در هر مرحله ترکیبی از نیازمندی ها را تشخیص می دهند، سپس آن ها را تجزیه و تحلیل ، طراحی و بعد پیاده سازی و در نهایت آزمایش می کنند و یا از روش  رایج تر  که  همان  روش  آبشاری است ولی با بازخورد (feedback) استفاده می کنند. در این روش ممکن است با کناره گیری یک عضو از تیم خسارت هایی به سیستم وارد شود.

برخلاف سیستم های فوق، RUP از روش تکرار ( Iterative) استفاده می کند، که به معنای یکسری گام ها برای رسیدن به هدف می باشد و هر تکرار ) Iteration ) شامل اصول توسعه (نیازمندی Requirements ، تحلیل Analysis طراحی Design پیاده سازی Implementation و …) می باشد در تصویر زیر این مفاهیم را مشاهده می کنید :

 هر Iteration بر اساس عملکرد Iteration قبلی عمل می کند و لذا در هر مرحله و با جلو رفتن، پروژه اصلاح می شود، تا آنکه نسخه نهاییت سیستم ارائه شود.

Iteration های اولیه بیشتر تأکید بر روی نیازمندی ها (Requirements) ، تحلیل  (Analysis) و طراحی Design) ) دارند و Iteration  های بعدی اصرار بیشتری بر روی پیاده سازی Implementation)) و آزمایش Testing) ) دارند.

با توجه به مطالب ذکر شده این سئوال به وجود می آید که به چه علت روش Iterative بهتر از Waterfall است؟ بعضی از این علت ها عبارتند از :

–                           تطبیق تغییرات با نیازمندی ها

تغییرات و معایب موجود در تکنولوژی روز از منابع اصلی مشکلات پروژه می باشد که باعث می شود بجای آن که به تیم و اجرایی بودن نرم افزار توجه شود، در طی گذشت چند هفته به این معایب توجه گردد.

– ایجاد اتحاد و یکپارچگی در ابتدای پروژه نه در لحظات آخر

بدون توجه به نتیجه های بدست آمده از تلاش هر گروه، در لحظات آخر هر پروژه زمان زیادی تا حدود ۴۰ درصد تلف می شود تا آن یکپارچگی لازم اتخاذ شود. برای اجتناب از این موضوع می بایستی Iteration ها را به قسمت های کوچکتر تقسیم کرد و نتایج را گام به گام به یکدیگر متصل نمود.

–                           مشکلات معمولاً کشف می شوند.

بعد از آن که پروژه را به Iteration های کوچکتر تقسیم گردید، لذا با توجه به داشتن افراد در هر قسمت به سرعت می توانید مشکلات را در همان اوایل کشف نمایید.

مدیریت به معنای ایجاد تغییرات تاکتیکی در محصول است

بعد از انجام هر Iteration به سرعت شما می توانید یک معماری قابل اجرا را پیاده سازی کنید نسخه های اولیه سریعاً تهیه و قابل اجرا خواهند بود.

تیم فرصت پیشرفت دارد

اعضای پروژه فرصت های فراوانی دارند تا بتوانند از اشتباهات خود عبرت بگیرند و به مهارت های خود بیافزایند.

RUP یک فرآیند مهندسی نرم افزاری است

در طراحی خود RUP از تکنیک های طراحی نرم افزار استفاده شده است. به ویژه توسط فرآیند مهندسی متا مدل نرم افزاری برای تهیه آن، استفاده شده است و کاملاً بر پایه UML است.

۴-۲ فازها، اهداف و نکات اصلی

فاز شروع (Inception)

اهداف :

الف ) شناخت حوضه و قلمرو پروژه

ب) ساخت حالت تجاری (Business Cases)

– فاز شناخت (Elaboration)

اهداف :

الف) کاهش خطرات تکنیکی

ب) ساخت معماری پایه سیستم

پ) فهم نحوه ساخت سیستم

نکته اصلی : مهماری پروژه LCA ( Lifecycle Architecture Milestone)

فاز ساخت (  (Construction

هدف :

الف) ساخت اولین نسخه عملیاتی

فاز انتقال (Transition)

هدف :

الف) ساخت نسخه نهایی و انتقال به مشتریان

۵-۲ نکات اصلی

ساختار ایستایی RUP

ساختار ایستا در نحوه کنار یکدیگر قرار گرفتن منطقی فعالیت ها (Activity) ، اصول  Disciplines)) ، محصولات(Artifacts) و نقش ها Roles) ( دخالت دارد. در واقع در این پروسه معین می شود که ، چه کسی، چه کاری را چگونه و در  چه  زمانی  انجام  می دهد.  در  RUP از چهار عنصر مدل سازی استفاده می شود.

چهار عنصر اصلی مدل سازان

نقش ها (Roles) : چه کسی؟
·        فعالیت ها (Activities) :   چگونه عمل می کند؟
·        محصولات )َArtifacts) : چه چیزی را ؟
·        جریان کار (Workflows) : در چه زمان؟

۶-۲ نقش ها، فعالیت ها و محصولات و جریان های کاری

– نقش ها Roles))

یک نقشه کاملاً شبیه به یک کلاه است که ممکن است یک نفر و یا گروهی از آن استفاده کنند. در RUP نقش ها معین کننده وظایف فردها هستند و این نقش ها هستند که گویای وظایف افراد هستند. یک شخص معمولاً یک یا چند نقش دارد و تعدادی از افراد فقط یک نقش دارند.

فعالیت ها (Activities)

یک فعالیت   از  نقش  خاص ،  به عنوان یک واحد کاری مستقل برای انجام آن عملیات می باشد. معمولاً یک فعالیت هدف کاملاً واضحی دارد و هر فعالیت به یک نقش نسبت داده می شود و یک فعالیت به طور کلی در چند ساعت تا چند روز به طول می انجامد و معمولاً شامل یک نفر است و معمولاًَ روی یک و یا چند محصول تأثیر می گذارد، ممکن است یک فعالیت خاص چندین بار برای یک محصول خاص اتفاق بیافتد، بویژه اگر از یک Iteration به Iteration دیگری برویم و یا سیستم را توسط همان نقش اصلاح و یا توسعه دهیم، اما لزوماً این کار برعهده همان شخص قبلی نیست، فعالیت ها به چند گام تقسیم شده اند که عبارتند از :

فکر کردن باید فرد مجری نقش ، وظایف خود را درک کند. و بر اساس محصولات ورودی ، خروجی ها را تنظیم نماید.
انجام کار، که محصولات را ایجاد یا اصلاح می کند.
مرور، نتایج موجود برای نقش خاص، بازبینی می گردد.

محصولات ( Artifacts)

یک محصول قطعه اطلاعاتی است که تولید، اصلاح یا استفاده شده است. محصولات عناصر قابل لمس و حیاتی پروژه هستند. محصولات توسط نقش ها شروع به ایجاد شدن می نمایند و نتایج را بصورت خروجی به فعالیت های دیگری می دهند.

محصولات ممکن است حالات گوناگونی داشته باشند، که عبارتند از :

الف) یک مدل، مثل مدل  Use case یا Design

ب) یک عنصر مدل، مثل کلاس Use case (UC)    یا زیر سیستم

پ) یک مستند، مثل Vision یا Business

ت) اصل برنامه

ث ) موارد اجرای مثل Prototype

جریان های کاری (Workflows )

علی رغم وجود نقش ها، فعالیت ها و محصولات، شما به مورد دیگری نیز، نیاز خواهید داشت، شما باید بتوانید نتایجی مناسب و ارزشمند برای نقش ها ایجاد کنید که این همان معنای جریان کاری (Workflow ) است.

جریان های کاری در طرح ها و اشکال مختلف هستند، که رایج ترین آن ها اصول (Discpline)  است که از سطح بالایی جریان های کاری می باشند، جزئیات کاری نیز به همراه این اصول هستند. در UML برای نمایش جریان کاری می توان از سه دیاگرام زیر استفاده کرد:

الف) دیاگرام     Sequencd

ب) دیاگرام      Collaboration

ج) دیاگرام       Activity

7-2 عناصر دیگر موجودRUP

 نقش ها، فعالیت ها و محصولات از اصلی ترین ساختار لیست RUP هستند. اما عناصر دیگری نیز وجود دارد که به فهم بیشتر کمک می کنند. این عناصر اشافه شده عبارتند از :

راهنما (Guideline ) : برای آن که بتوان از نقش ها، نظریه ها یا ابتکارها پشتیبانی کرد، نیاز به این عنصر می باشد.
·        قالب ها  Templates)) : برای هر محصول یک قالب نمونه وجود دارد.
·        ابزار راهنما (Tool mentors) : برای ایجاد ارتباط بین راهنما Guidelines) ) و ابزار توسعه از این عنصر استفاده می شود.
·        مفاهیم (Concepts) : برای معرفی نکات کلیدی و اصولی استفاده می شود.
·        نقشه (Roadmaps) : جهت نمایش حرکت کاری در RUP استفاده می شود.

در نهایت ، در تمامی عناصر گفته شده، (نقش ها، فعالیت ها، محصولات ، مفاهیم ، راهنما و قالب ها) بصورت منطقی در کنار یکدیگر قرار می گیرند و به نام اصول (Disciplines) شناخته می شوند. در RUP اصول استاندارد وجود دارد. ولی ممکن است یک شرکتی بنابر موقعیت ها اصولی را نیز به سیستم اضافه کند.

۸-۲ ساختار ایستایی RUP

45,000 ریال – خرید
 

تمام مقالات و پایان نامه و پروژه ها به صورت فایل دنلودی می باشند و شما به محض پرداخت آنلاین مبلغ همان لحظه قادر به دریافت فایل خواهید بود. این عملیات کاملاً خودکار بوده و توسط سیستم انجام می پذیرد.

 جهت پرداخت مبلغ شما به درگاه پرداخت یکی از بانک ها منتقل خواهید شد، برای پرداخت آنلاین از درگاه بانک این بانک ها، حتماً نیاز نیست که شما شماره کارت همان بانک را داشته باشید و بلکه شما میتوانید از طریق همه کارت های عضو شبکه بانکی، مبلغ  را پرداخت نمایید. 

 

 

مطالب پیشنهادی:
  • مقاله RUP
  • برچسب ها : , , , , , , , , ,
    برای ثبت نظر خود کلیک کنید ...

    براي قرار دادن بنر خود در اين مکان کليک کنيد
    به راهنمایی نیاز دارید؟ کلیک کنید
    

    جستجو پیشرفته مقالات و پروژه

    سبد خرید

    • سبد خریدتان خالی است.

    دسته ها

    آخرین بروز رسانی

      شنبه, ۲۰ آذر , ۱۳۹۵
    
    اولین پایگاه اینترنتی اشتراک و فروش فایلهای دیجیتال ایران
    wpdesign Group طراحی و پشتیبانی سایت توسط دیجیتال ایران digitaliran.ir صورت گرفته است
    تمامی حقوق برایdjkalaa.irمحفوظ می باشد.