لینک پرداخت و دانلود *پایین مطلب*
فرمت فایل:Word (قابل ویرایش و آماده پرینت)
تعداد صفحه:57
فهرست مطالب
ویژگیهای نرم افزار
کاربردهای نرم افزار
نرم افزارهای سیستمی
نرم افزارهای زمان حقیقی
نرم افزارهای تجاری
نرم افزارهای مهندسی و علمی
نرم افزارهای تعبیه شده
نرم افزارهای کامپیوترهای شخصی
نرم افزارهای هوش مصنوعی
نرم افزارهای مبتنی بر وب
دامنه کاربرد نرم افزار
به دست آوردن اطلاعات لازم برای دامنه کاربرد
امکان سنجی
مثالی از تعیین دامنه کاربرد
منابع
منابع نرم افزاری قابل استفاده مجدد
منابع انسانی
منابع محیطی
برآورد پروژه نرم افزاری
تکنیک های تجزیه ای
تعیین اندازه نرم افزار
مهندسی سیستم
ویژگیهای نرم افزار
کاربردهای نرم افزار
نرم افزارهای سیستمی
نرم افزارهای زمان حقیقی
نرم افزارهای تجاری
نرم افزارهای مهندسی و علمی
نرم افزارهای تعبیه شده
نرم افزارهای کامپیوترهای شخصی
نرم افزارهای هوش مصنوعی
نرم افزارهای مبتنی بر وب
دامنه کاربرد نرم افزار
به دست آوردن اطلاعات لازم برای دامنه کاربرد
امکان سنجی
مثالی از تعیین دامنه کاربرد
منابع
منابع نرم افزاری قابل استفاده مجدد
منابع انسانی
منابع محیطی
برآورد پروژه نرم افزاری
تکنیک های تجزیه ای
تعیین اندازه نرم افزار
مهندسی سیستم
نگاهی گذرا
سیستمهای کامپیوتری
سلسله مراتب مهندسی سیستم
مدلسازی سیستم
شبیه سازی سیستم
مهندسی فرآیند تجاری: دیدی اجمالی
مهندسی محصول: دیدی اجمالی
مهندسی خواسته ها
استخراج خواسته ها
تحلیل خواسته ها و بحث در مورد آنها
تعیین مشخصات خواسته ها
مدلسازی سیستم
اعتبارسنجی خواسته ها
مدیریت خواسته ها
مدلسازی سیستم
خلاصه
ویژگیهای نرم افزار
برای درک مفهوم نرم افزار (و سرانجام درکی از مهندسی نرم افزار)، بررسی آن دسته از ویژگیهای نرم افزار که آن را از دیگر چیزهای ساخته دست بشر متمایز می سازد، اهمیت دارد. هنگامی که سخت افزاری ساخته می شود، فرآیند آفرینش بشری (تحلیل، طراحی، ساخت، آزمون)، سرانجام به یک شکل فیزیکی منتهی می شود. اگر یک کامپیوتر جدید می سازیم، طرحهای اولیه، ترسیمات طراحی رسمی و نمونه های اولیه به یک محصول فیزیکی (تراشه ها، مدارها، منبع تعذیه و غیره) تکامل می یابند.
نرم افزار یک عنصر سیستمی منطقی است نه فیزیکی. از این رو، نرم افزار دارای ویژگیهایی است که تفاوت چشمگیری با ویژگیهای سخت افزار دارند.
- نرم افزار، مهندسی و بسط داده می شود و چیزی نیست که به معنای کلاسیک کلمه، ساخته شود.
گرچه شباهتهایی میان بسط نرم افزار و ساخت سخت افزار وجود دارد، این دو عمل تفاوت بنیادی دارند. در هر دو عمل، کیفیت بالا از طریق طراحی خوب به دست می آید، ولی فاز ساخت برای سخت افزار باعث بروز مشکلات کیفیتی می شود که برای نرم افزار وجود ندارند (یا به راحتی قابل رفع هستند). هر دو عمل وابسته به انسان هستند، ولی رابطه میان انسان و کاری که انجام می شود، کاملاً متفاوت است (فصل 7). هر د. عمل مستلزم ساخت یک ((محصول)) هستند ولی روشها متفاوت است.
هزینه های نرم افزار در مهندسی آن متمرکز است. این بدان معناست که پروژه های نرم افزاری را نمی توان همانند پروژه های تولید معمولی مدیریت کرد.
- نرم افزار فرسوده نمی شود.
شکل 1-1 نمودار آهنگ شکست را به صورت تابعی از زمان برای سخت افزار نشان می دهد. این رابطه که غالباً ((منحنی وانی)) نامیده می شود، نشان می دهد که سخت افزار، آهنگ شکست نسبتاً شدیدی در ابتدای عمر خود نشان می دهد (این شکستها را غالباً می توان به عیوب طراحی و تولید نسبت داد)؛ این عیوب تصحیح می شوند و آهنگ شکست برای یک دورۀ زمانی به حدی ثابت نزول می کند (که امید می رود، بسیار پایین باشد). با گذشت زمان، سخت افزار شروع به فرسایش کرده دوباره آهنگ شکست شدت می گیرد.
نرم افزار نسبت به ناملایمات محیطی که باعث فرسایش نرم افزار می شود، نفوذپذیر نیست. بنابراین، در تئوری، منحنی شکست برای نرم افزار باید شکل منحنی ایده آل شکل 2-1 را به خود بگیرد. عیوب کشف نشده باعث آهنگ شکست شدید، در ابتدای عمر برنامه می شود. ولی، این عیوب برطرف می شوند (با این امید که خطاهای دیگر وارد نشود) و منحنی به صورتی که نشان داده شده است، هموار می شود. منحنی ایده آل نسبت به منحنی واقعی مدلهای شکست نرم افزار، بسیار ساده تر است (برای اطلاعات بیشتر، فصل 8 را ببینید). ولی، معنای آن واضح است، نرم افزار هرگز دچار فرسایش نمی شود بلکه فاسد می شود!
این تناقض ظاهری را می توان با در نظر گرفتن ((منحنی واقعی)) به بهترین وجه توضیح داد (شکل 2-1). نرم افزار در دوران حیات خود دستخوش تغییر می شود (نگهداری). با اعمال این تغییرات، احتمال دارد که برخی عیوب جدید وارد شوند و باعث خیز منحنی آهنگ شکست شوند (شکل 2-1). پیش از آن که منحنی بتواند به آهنگ شکست منظم اولیه خود برسد، تغییر دیگری درخواست می شود که باعث خیز دوباره منحنی می شود. حداقل میزان شکست به آهستگی افزایش می یابد – نرم افزار در اثر تغییر فاسد می شود.
یک جنبۀ دیگر از فرسایش نیز اختلاف میان سخت افزار و نرم افزار را نشان می دهد. هنگامی که یک قطعه از سخت افزار فرسوده می شود، با یک قطعه یدکی تعویض می شود. ولی نرم افزار قطعات یدکی ندارد. هر شکست نرم افزار نشانگر خطایی در طراحی یا فرآیندی است که طراحی از طریق آن به کدهای قابل اجرا روی ماشین تبدیل می شود. از این رو، نگهداری نرم افزار به مراتب پیچیده تر از نگهداری سخت افزار است.
تحقیق در مورد درک مفهوم نرم افزار و سرانجام درکی از مهندسی نرم افزار