مقاله درباره متدولوژی مهندسی نرم افزار

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

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

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

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

مهندسی متفاوت از علوم می باشد .مهندسی از علوم [محض] ، ریاضیات ، اساس مهندسی (نظیر تحلیل خطاها ، مدیریت پیکربندی ، برآورد ریسک و استفاده مجدد) و مهارت های عالی برقراری ارتباط با دیگران برای توسعه راه حلی امکان پذیر و مقرون به صرفه از نظر اقتصادی و زمانی به جهت حل مسائل و مشکلات جهان واقعی ، استفاده می نماید . یک دانشمند در اکثر موارد یک مهندس نیست ؛ ولی یک مهندس باید پایه ای قوی در علوم [محض] داشته باشد.

متدولوژی های اولیه مهندسی نرم افزار :
در سال ۱۹۶۲ دایجسترا (Edsger Dijkstra) نظریه ای مبنی بر اینکه یک تکه کد اساساً ریشه در عبارات ریاضی دارد را مطرح نمود . بنابر این عقیده ، او فرض نمود که باید بتوان یک برنامه اختیاری را به دلخواه انتخاب نموده و با برهان و دلایل ریاضی درستی یا نادرستی کارکرد آنرا اثبات نمود .اگرچه ، در آن زمان تلاشهای وی در این زمینه موفقیت زیادی در پی نداشت .اما کمی بعد در سال ۱۹۶۵ دایجسترا و دیگران یکی از مشکلات اساسی ، که امروزه عبارات نا آشنای Go To [ناآشنا به دلیل عدم استفاده از آن] یا پرش های غیر شرطی می باشند ، را هشدار دادند .

در سال ۱۹۶۸ دایجسترا با برهان و استدلال این موضوع که پرش های غیر شرطی مشکلی اساسی به شمار می آیند را اثبات نموده و مقاله ای با عنوان “عبارت Go To یک ضرر قابل توجه “را منتشر ساخت . البته تلاش های دایجسترا تنها محدود به عبارات Go To نشد .کمی بعد در سال ۱۹۶۸ وی نتیجه فعالیت ها و کارهای موفقیت آمیز خود را در راه توسعه یک سیستم عامل منتشر نمود . این مقاله خواندنی در مورد دیدگاه لایه های انتزاعی بحث می نماید ؛ موضوعی که امروزه استفاده از آن رایج می باشد ولی ما کمتر به آن فکر کرده ایم .

در برنامه نویسی ساخت یافته ، دایجسترا نه تنها اصطلاح Structured Programming را وضع و ایجاد کرد بلکه وی بر اهمیت موضوعاتی چون جلوگیری از خطا و مقابله با رخ دادن خطا بجای رفع خطا بعد از وقوع آن تاکید نمود .در مقاله اشاره شده فوق ؛ او این سوال را مطرح ساخت که :

” سوال اصلی این است که آیا می توان قابلیت و قدرت برنامه نویسی را بواسطه اندازه و تکنیک هایی (تکنیک های ذهنی ، سازمانی یا مکانیکی) که بتوانند در فرآیند ترکیب برنامه بکار بسته شوند ؛ بالا برد ؟ “

این سوال هنوز هم برای ما بدون جواب باقی است .

در سال ۱۹۶۶ بوهم (Bohm) و ژاکوپینی (Jacopiny) مقاله خود را به زبان انگلیسی ترجمه و به ACM ارائه دادند .در سال ۱۹۶۷ اصطلاح مهندسی نرم افزار (Software Engineering) برای عنوان سمینار سال ۱۹۶۸ سازمان پیمان آتلانتیک شمالی یا ناتو (NATO) انتخاب شد .که هدف آن ، در میان سایر موارد ، کمک به شناساندن و معرفی مهندسی نرم افزار و دامنه عمل آن بود .

سال ۱۹۷۱ ایده توسعه نرم افزار بوسیله پالایش مرحله ای یا Stepwise Refinement توسط نیکلاس ورث ارائه شد .پالایش مرحله ای کارها و فعالیت های گذشته دایجسترا ، بوهم و ژاکوپینی را روشن و مبرهن ساخت .یک سال بعد دیوید پارناس مقاله خود تحت عنوان “مخفی سازی اطلاعات” را منتشر نمود .دسامبر سال ۱۹۷۳ نشریه Datamation یک شماره از مجله خود را به برنامه سازی ساخت یافته اختصاص داد و تعدادی از برنامه های کاربردی موفق که با این تکنیک ساخته شده بودند را معرفی نمود .

فهرست مطالب
مقدمه
متدولوژی های اولیه مهندسی نرم افزار
دهه ۱۹۷۰ گسترش متدولوژی ها
نگاهی دقیق تر به دهه ۱۹۸۰
متدولوژی های شیئ گرا
شیوه متدولوژیهای شیئ گرا
متدولوژیهای فعلی شیئ گرایی
متدولوژی Ideal Mix
نکاتی درباره این حلقه
مقایسه متدولوژی های توسعه نرم افزار
مدل آبشاری
کجا از مدل آبشاری استفاده کنیم
مدل افزایشی
مدل مارپیچی
چه زمان ازمدل مارپیچی بوهم استفاده شود
ساخت نمونه اولیه
چه زمانی از ساخت نمونه اولیه در مدل آبشاری استفاده می شود
اتاق تمیز
شیء گرایی


فرمت فایل: WORD

تعداد صفحات: 19

پس از ثبت دکمه خرید و تکمیل فرم خرید به درگاه بانکی متصل خواهید شد که پس از پرداخت موفق بانکی و بازگشت به همین صفحه می توانید فایل مورد نظر خورد را دانلود کنید. در ضمن لینک فایل خریداری شده به ایمیل شما نیز ارسال خواهد شد. لینک دانلود فایل به مدت 48 ساعت فعال خواهد بود.


مطالب مرتبط