مرجعی کامل برای یادگیری درس مهندسی نرم افزار(تجزیه و تحلیل سیستم)دارای 241 اسلاید جذاب و مفید.
مولف : سامرویل
مترجم : جعفرنژاد قمی
پاور پوینت درس مهندسی نرم افزار1(تجزیه و تحلیل سیستم(
مرجعی کامل برای یادگیری درس مهندسی نرم افزار(تجزیه و تحلیل سیستم)دارای 241 اسلاید جذاب و مفید.
مولف : سامرویل
مترجم : جعفرنژاد قمی
موضوع مورد بحث در این پروژه طراحی یک سیستم مکانیزه برای داروخانه دکتر بنیاسد با استفاده از یکی از روشهای شئ گرا میباشد . روش به کار گرفته شده در فرآیند تحلیل و طراحی GRAPPLE نام دارد که مختصر (Guide lines for Rapid Application Engineering) میباشد . این روش کاربردی به سادگی با به کارگیری ابزارهای موجود در UML به تیم طراحی کمک میکند تا گام به گام مراحل طراحی را طی نموده و به پایان برسانند .
فاز اول در روش GRAPPLE همانند بسیاری از روشهای دیگر جمع آوری اطلاعات از محیط میباشد که با روش های گوناگون قابل انجام است . خروجی این مرحله نمودارهای فعالیت و نمودارهای آبشاری مربوط به محیط میباشد . سپس با مصاحبه های تکمیلی و استخراج اسامیو افعال نمودار اولیه کلاس رسم گردیده و با کمک مصاحبه های بیشتر تناظرهای مربوط به کلاسهایی که مفید به نظر میرسیدند نمودار کامل کلاس بدس آمده .در گامهای بعدی این نمودار کلاس تکمیلتر میشود تا به نمودار نهایی کلاس تبدیل گردد .
در بخش بعدی با جلسه های JAD متعدد سعی در ملموس کردن سیستم برای کاربران و بدست آوردن نیازهای واقعی آنان گردیده . نمودارهای استقرار و بستههای عملکردی به عنوان خروجی این بخش هستند . بسته های عملکردی بر اساس فعالیتهای ثبت شده در نمودارهای فعالیت برای Actorهای محیط رسم شده اند و در هر بسته موارد کاربرد هر Actor قرار گرفته .
در گام بعدی به توسعه موارد کاربرد (Use Case) میپردازیم و نمودارهای مورد کاربرد ، برای موارد کاربرد موجود در بستههای عملکردی رسم و توضیحات تکمیلی به موارد کاربرد اضافه شده اند . سپس تعاملات و تغییر حالات مورد بررسی قرار گرفته و در نهایت نمودار حالت مربوطه رسم شده .
فناوری اطلاعات در سالهای اخیر به عنوان عامل اصلی توسعه شناخته میشود . یکی از شاخههای فناوری اطلاعات ، ایجاد و توسعه سیستمهای است . مهندسی نرمافزار سعی بر آن دارد تا ایجاد و توسعه سیستمهای اطلاعاتی را به شکل فرآیندی مهندسی درآورد .
در تمام متدولوژیهای توسعه سیستم ، همواره قصد توسعه دهندگان سیستم آن است که به نحوی نیازهای کاربران ، به شکل واقعی تحقق پیدا کند و تا جایی که ممکن است ، آنچه را که کاربران میخواهند ، برآورده سازند .
در طول سالیان مختلف فرآیند توسعه سیستم ها ، متدولوژی های مختلفی استفاده شده است که هر کدام دارای مزایا و معایب مربوط به خود میباشند و هر یک از این متدولوژی ها یک یا چند مرحله از دوره زندگی توسعه سیستم را پوشش میدهند و ابزار و مدلهای خاصی را بر دوره زندگی سیستم تحمیل میکنند . از متدولوژی های سنتی گرفته تا متدولوژیهای شی گرا ، هرکدام به نحوی میخواهند سیستمیقابل قبول برای کاربران تهیه نمایند .
از میان مدل هایی که در جریان توسعه سیستم و در یک متدولوژی خاص به کار گرفته میشود ، مدلهایی اهمیت بیشتری دارند که بتوانند نیازها را هم برای استفاده کنندگان و هم برای تیم پروژه بهتر مجسم کنند ؛ به نحوی که کاربران و تیم پروژه کاملا در جریان توسعه سیستم به شکل بصری قرار گیرند . این موضوع اهمیت زیادی خصوصا در زمینه کاهش هزینه ها و زمان ایجاد سیستم دارد .
زبان مدلسازی یکپارچه (UML) با استفاده از تجربیات خبرگان سیستمهای اطلاعاتی و تئوریسینهای این رشته شکل گرفته و زبان استانداردی را برای تسریع در ایجاد و توسعه سیستم های اطلاعاتی به وجود آورده است .
برای برخورد با چالش های یک فرآیند توسعه ، مطلبی تحت عنوان (Guide lines for Rapid Application Engineering - GRAPPLE) (رهنمود هایی برای کاربرد سریع مهندسی ) ارائه شده است . ایدههای موجود درGRAPPLE یک چیز جدید نیست ، بلکه برگرفته شده از مجموعهای از ایدههای سایر افراد میباشد .
UML ابزار شگفت انگیزی است ، ولی از آن نمیتوان به تنهایی استفاده کرد ، بلکهUML نیرویی جهت توسعه نرم افزار میباشد . در این فصل میخواهیم درباره فرآیندهای متدولوژیهای توسعه به عنوان وسیلهای جهت درک نحوه استفاده ازUML صحبت کنیم .
سازمان شما به یک سیستم کامپیوتری جدید احتیاج دارد و شما کسی هستید که با توجه به مزایای رقابتی نرمافزار جدید ، میخواهید یک سیستم جدید برای برخورداری از این مزیت ، ایجاد کنید . بنابراین شروع به استقرار اعضای تیم پروژه در محلهای خودشان میکنید و با استفاده از اعضای تیم یعنی مدیر ، مدلدهنده ، تحلیلگران ، برنامهنویسان و مهندسین سیستم سعی در تکمیل پروژه دارید . حال بیایید از دیدگاه یک مشتری به موضوع نگاه کنیم . خود را جای مشتری بگذارید :
قبل از آن که پروژه شروع شود ، احتمالا نیاز دارید که نقطه نظرات خود را درمورد سیستم بیان کنید ، به نحوی که آنها مسائل شما را درک کرده و آن را برای شما پیادهسازی نمایند . همچنین علاقهمند هستید که در فرآیند پیشرفت کار ، نگاهی به این روند داشته باشید و به عبارتی میخواهید که در تمام مراحل پروژه همراه آنان باشید .
اینها مسائل مشترک و نکاتی هستند که هر مشتری آنها را در نظر میگیرد و نیز برای هر پروژه توسعه سیستم لازم میباشد و همچنین نکاتی مثل زمان ، پول ، نیروی انسانی از مسائل دیگر توسعه یک سیستم هستند .
1 - 1 ) متدولوژی ها : قدیم و جدید
هدف این نیست که تیم پروژه بلافاصله به سراغ کدنویسی برود . تیم توسعه مجبور به تعقیب نمودن یک ساختار است ، به عبارت دیگر یک راه روشمند را باید دنبال کند . ساختار و طبیعت مراحل در فرآیند توسعه تحت نام متدولوژی نامیده میشود .
قبل از آن که تیم پروژه شروع به کدنویسی کند ، توسعه دهندگان سیستم باید کاملا مسئله مورد بررسی را درک کرده باشند و این موضوع نیازمند آن است که شخصی نیازها و احتیاجات شما را تحلیل کند . بعد از آن که تحلیلگر کارش را انجام داد ، آیا میتوان کدینگ را شروع کرد ؟ خیر . شخص دیگری مجبور است تحلیل به دست آمده را به طراحی تبدیل نماید . آنگاه کدکنندگان بعد از مرحله طراحی شروع به کار کدنویسی میکنند و سپس آزمایش و استقرار سیستم انجام میشود .
این نگارش بیش از اندازه ساده میباشد و در آن مراحل به صورت پی در پی انجام میشود . هر مرحله دقیقا در یک مقطع از زمان رخ میدهد . در واقع متدولوژی های توسعه اولیه به این صورت سازمان مییافتند . شکل 1-1 یکی از روش های فکری بود که برای سالیان زیاد در میان نرم افزار نویسان دارای نفوذ بود و مورد استفاده قرار میگرفت .
شامل 106 صفحه فایل WORD قابل ویرایش