منابع تحقیق درمورد انعطاف پذیری، هزینه نگهداری، قابلیت اطمینان، ساختار و نحو

دانلود پایان نامه

ه این نتیجه رسیده اند که بیشتر از چهار پارامتر به هر قسمت نباید داده شود.
1-5-6 انعطاف پذیری نرم افزار
برای آنکه برنامه یا قسمتی از آن در جای دیگر به کار رود (قابلیت استفاده مجدد) باید تغییراتی صورت گیرد تا برای کار جدید و یا محیط جدید بکار آید. در این حال، انعطاف پذیری روال نقش بسیار مهمی در انجام تغییرات و استفاده مجدد خواهد داشت. از مزایای انعطاف پذیری می توان به بالا رفتن سرعت برنامه نویسی، سادگی نگهداری برنامه، افزایش خوانایی و قابلیت استفاده مجدد نام برد.
1-5-7 قابلیت حمل
امکان جابجایی نرم افزار از یک محیط کاری به محیط کاری دیگر را قابلیت حمل گویند. این محیط می تواند کامپلیر، سیستم عامل و یا سخت افزار باشد. قابلیت حمل در دو سطح کلی مطرح است. یکی قابلیت حمل از یک محیط به محیط هم خانواده و دیگری قابلیت حمل از یک محیط به محیط متفاوت دیگر است. با ظهور زبان های سطح بالا و ایجاد استانداردهای بین المللی، دور نمای روشنی برای تهیه برنامه های کاربردی قابل انتقال ایجاد شده است. عوامل موثر در قابلیت حمل عبارتند از:
• عدم وابستگی به سیستم عامل: یعنی اگر در برنامه سیستم عامل داس نوشته شده است، بتوان آن را در سیستم عامل دیگری نیز اجرا نمود.
• عدم استفاده مستقیم از دستورات و عملیات سیستم عامل: اگر در برنامه از دستورات و امکانات خاص سیستم عامل داس استفاده شده است (استفاده از وقفه های داس) ، در سیستم عامل دیگری قابلیت اجرایی نخواهد داشت.
• عدم وابستگی به سخت افزار: این عدم وابستگی در دو سطح مطرح می گردد. حالت اول در سخت افزارهای هم خانواده است. یعنی اگر بر روی پردازنده 80286 اینتل کار کند، بتواند بر روی پردازنده های هم خانواده دیگر مانند 80486 و غیر نیز اجرا شود. حالت دوم در سخت افزار های غیر هم خانواده است. بدین معنی که اگر برنامه ای بر روی کامپیوترهای شخصی سازگار با IBM اجرا شد. بتواند بر روی کامپیوترهای دیگر(اعم از شخصی و غیر شخصی) نیز اجرا شود.
• کامپلیر: برای تهیه برنامه باید از کامپلیرهایی که در تمام محیط هایی که قرار است برنامه در آنها اجرا شود، موجود باشند. همچنین امکان استفاده غیر مستقیم از امکانات سیستم عامل و سخت افزاری را در اختیار قرار دهند.
• استفاده از زبان های سطح بالاتر: در زبان های سطح پایین وابستگی شدیدی به سخت افزار وجود دارد (مانند زبان اسمبلی). هر چه از زبان سطح بالاتری استفاده نماییم، امکان انتقال آن نرم افزار بیشتر می شود.
• پیمانه ای بودن نرم افزار: نرم افزار اگر متشکل از قسمت ها (ماجول ها) باشد، می توان اجزایی که وابسته به سخت افزار هستند (از دستورات سخت افزار و یا سیستم عامل بهره می برند) را برای محیط جدید تغییر داد.
• شرایط محیطی قابل تعریف و مشخص: شرایطی که باید در یک کامپیوتر تعریف نمود تا برنامه اجرا شود.
1-5-8 سادگی15
سادگی عبارت است از میزان عدم پیچیدگی در نرم افزار. هر چقدر برنامه ای راحت تر درک شود، دارای سادگی بیشتری است. سادگی دارای دو جنبه است. یکی در سهولت استفاده و دیگری در ساختمان و برنامه نویسی است. سادگی در استفاده بدین معنی است که کاربر برنامه، به سادگی هرچه تمام تر بتواند از آن استفاده کند(مانند سیستم عامل ویندوز در برابر سیستم عامل داس).سادگی در ساختمان و برنامه نویسی بدین مفهوم است که به سادگی ساختار و نحوه عمل برنامه درک شود و همچنین با منطقی ساده، پیاده سازی شود.
1-5-9 قابلیت نگهداری
میزان تلاشی که لازم است تا اشکالی در برنامه پیدا کرده و تصحیح شود و یا خواسته های جدید در برنامه گنجانده شوند را، قابلیت نگهداری گویند. نگهداری نرم افزار به دو دسته “تکمیلی” و “تصحیحی” تقسیم می شود. در نگهداری تصحیحی، اشکالات موجود در برنامه مشخص شده و رفع می گردند. نگهداری تکمیلی شامل اعمال خواسته های جدید در برنامه است. به مرور زمان شرایط تغییر پیدا می کنند و در نتیجه خواسته ها نیز یا تغییر می یابند و یا خواسته های جدیدی مطرح می شوند. بنابراین برای پوشش دادن به این خواسته های جدید برنامه را به گونه ای تغییر داد که نیازهای مطروحه را برآورده سازد. عمدا” 70% کل هزینه یک سیستم را انواع نگهداری تشکیل میدهد. هرچه هزینه ای که برای ساخت یک نرم افزار صرف می شود بیشتر باشد، هزینه نگهداری آن پایین می آید. از جمله عوامل بالا رفتن هزینه نگهداری، می توان به موارد زیر اشاره نمود:
• ضعف طراحی
• کمبود مستندات
• ناهمگونی مستندات با سیستم پیاده شده
• عدم ثبت تاریخچه تغییرات
1-5-10 تحمل اشکال16
این امر که برنامه های کامپیوتری بتوانند در برابر بروز اشکالات احتمالی عکس العمل مناسبی را از خود نشان دهند، مسئله مطرحی است. در اکثر برنامه ها و در هنگام بروز اشکال، ناگهان از برنامه خارج شده و یا کامپیوتر دیگر هیچ کاری انجام نمی دهد(اصطلاحا” قفل می کند). مانند این است که شما در یک هواپیما و در ارتفاع 10000 پایی قرار داشته باشید و به طور ناگهانی و بدون هیچ گونه اخطار قبلی، هواپیما منفجر شود.
حال اگر برنامه طوری نوشته شود که دلیل بروز خطا، و یا شماره خطی از برنامه که خطا در آن رخ داده است اعلام شود، کاربر می تواند خطا را پیگیری و احتمالا” مشکل را حل نماید. حداکثر این که پیغام خطا را به تهیه کننده برنامه اعلام می دارد تا وی بتواند مشکل را حل نماید. بهترین حالت ممکنه این است که برنامه با وجود بروز خطا، به کار خود ادامه دهد و یا بصورت عادی(نه به صورت غیرمنتظر
ه) از برنامه خارج شود(همچنین برنامه می تواند از کاربر بخواهد تا خود وی از برنامه خارج شود). امروزه با وجود ابزارهای جدید، این امر به راحتی امکان پذیر می باشد. به عنوان مثال در ابزار Delphi با استفاده از دستور try except…. و یا در foxpro با استفاده از دستورon error، می توان این کار را انجام داد.
1-5-11 قابلیت نصب17
تبدیل یک نرم افزار از حالت بسته بندی به حالت در حال اجرا را نصب گویند. حال نرم افزاری که کار نصب آن ساده تر و راحت تر انجام شود، به عنوان نرم افزار قابل نصب شناخته می شود. از جمله عواملی که در ساده شدن نصب برنامه موثر است می توان به عوامل زیر اشاره کرد:
• مرجع نصب و سادگی آن
• سازگاری برنامه با شرایط مختلف
• حجم برنامه از نظر تعداد دیسک و دیسک های فشرده
• سرعت عملیات
• تعداد مراحل و یا سوالات کم
• انعطاف پذیری نصب
• سادگی عملیات
1-5-12کارایی
کارایی عبارتست از استفاده مطلوب از سخت افزار. اگر چه کارایی یک هدف مهم می باشد ولی باید سه قاعده را درنظر گرفت. اول اینکه کارایی نیازمند به یک کار برجسته می باشد. بنابراین در طول تحلیل نیازهای نرم افزار بیان می شود. دوم اینکه کارایی با طراحی خوب پیشرفت می کند و سوم اینکه پارامتر و پارامتر خوانایی ارتباط معکوس با یکدیگر دارند. عوامل موثر کارایی در سخت افزار شامل حافظه(که خود شامل نوشتار برنامه و داده ها می باشد) و سرعت است.
به منظور ایجاد کارایی در داده های برنامه، کافی است از ساختمان داده های مطلوب و مناسب داده ها استفاده نمایید. همچنین در هنگام کار با بانک اطلاعاتی، کافی است ساختار اطلاعات مطابق با استاندارد های موجود در این زمینه منطبق باشد (صورت های نرمال). در خط مشی بانکی(چه نرم افزارهای بانک اطلاعاتی و چه نرم افزارهایی که طبق اصول بانکی عمل می نمایند) یکی از ابزار قدرتمند، پرس جوها18می باشند. به کمک این پرس وجوها می توان کلیه پردازش ها را بر روی اطلاعات خام موجود در بانک انجام داد و از نتایج کسب شده بهره جست. به منظور بالا بردن کارایی پرس و جوها(گرفتن نتایج در زمان کم تر و با هزینه کمتر) مسئله “بهینه سازی پرس و جو”مطرح می گردد. جواب این مسئله، ارائه راه حل هایی است که با استفاده از آنها، کارایی بالا می رود. بهینه سازی پرس و جو ها در بانک های اطلاعاتی رابطه ای ، دارای دو جنبه است:
• مبارزه طلبی19: به دلیل این که بهینه سازی برای رسیدن به کارایی قابل قبول مورد نیاز است، به خصوص اگر سیستم به طور دائم استفاده می شود.
• مزیت20: به دلیل این که عبارات رابطه ای در یک سطح بالای مفهومی بیان می گردند، لذا نیاز به بهینه سازی وجود دارد.
1-5-13 قابلیت آزمون
آزمایش عبارت است از عملی که به منظور تعیین صحت انجام کارها توسط برنامه و تطبیق نتایج مورد انتظار و نتایج حقیقی، انجام شود. هدف از انجام آزمایش را می توان عبارت از موارد زیر دانست:
• آزمایش فرآیند اجرای یک برنامه با هدف یافتن یک خطاست.
• یک مورد آزمایش خوب و موفق، آزمایشی است که یک خطای تا کنون کشف نشده را مشخص کند.
مطابق با اهداف فوق اگر آزمایشی موفق انجام گیرد، نتایج زیر حاصل می آید:
• خطا های نرم افزار را مشخص می کند.
• تعیین می کند نرم افزار مطابق با خواسته ها کار می کند.
• اطلاعات جمع شده از آزمایش، دلیل خوبی بر قابلیت اطمینان نرم افزار و در کل کیفیت نرم افزار می باشد.
1-5-14 واسط کاربر21
کیفیت واسط کاربر برنامه نیز در کیفیت کل نرم افزار مهم است. اگر برنامه از لحاظ عملیات، ساختمان داده و دیگر موارد بسیار خوب باشد، ولی از لحاظ واسط کاربری مشکل داشته باشد. مورد قبول کاربران قرار نخواهد گرفت در مقابل اگر برنامه از واسط کاربری مناسبی برخوردار باشد، به سرعت و به راحتی توسط کاربران مورد استفاده قرار می گیرد(مانند ویندوز که با داشتن اشکالات زیاد، خیلی مورد توجه قرار گرفته است) بنابراین لازم است تا واسط کاربری برنامه امان از کیفیت مطلوبی برخوردار باشد. بدین منظور شرکت مایکروسافت هفت اصل برای طراحی واسط کاربری برنامه تعیین نموده است. این هفت اصل عبارتند از:
1. کاربر کنترل کننده است.
هیچ یک از ما دوست نداریم تحت کنترل دیگری باشیم، به خصوص تحت کنترل کامپیوتر. کاربر همیشه باید این احساس را داشته باشد که هر چه روی صفحه اتفاق می افتد، در کنترل اوست. کاربران باید احساس کنند که خودشان کاری را هدایت می کنند، نه این که تصور کنند که عکس العملی در برابر خواسته های کامپیوتر انجام می دهند. کاربران خواسته ها و نیازهایی خاص خود دارند. لذا، مسئله مهم آن است که در نرم افزارتان تا حدودی به کاربر امکان اعمال سلیقه های شخصی را بدهید. به عنوان مثال، در ویندوز می توانید رنگ ها، فونت ها و بعضی چیزهای دیگر را مطابق میل خود تغییر دهید، همین امر موجب می شود احساس کنید که ویندوز در کنترل شماست.
یک برنامه خوب به کاربر می گوید که در حال انجام چه کاری است برنامه نباید موجب سرگردانی کاربر شود، به طوری که نداند درکجا و در حال انجام چه کاری است. به عنوان مثال اگر تهیه یک گزارش زمانگیر باشد و پیغام مناسبی به کاربر داده نشود این احساس بوجود می آید که برنامه قفل کرده است و باید به طریقی از آن خارج شود. در همین مثال ساده می توان اهمیت یک پیغام را دریافت کرد.
2. صراحت22
یعنی بجای لغات از اشکال استفاده کنیم درست مثل یک عکس که از هزاران لغت ارزشمندتر است.
3. سازگاری23
یکی از مهمترین وجوه پیاده س
ازی برنامه های تحت ویندوز، سازگاری آنها می باشد. اگر تمام برنامه ها از نظر نمایش اطلاعات و عکس العمل در برابر کاربران، با یکدیگر سازگار بودند، هنگام کار با آنها کاربر به جای آنکه وقتش را صرف یادگیری نحوه عکس العمل برنامه شما در مقایسه با دیگر برنامه ها نماید، می تواند به انجام کارهای دیگری بپردازد.
4. جبران24
در برنامه های خوب، فشردن کلیدها و مشاهده رویدادهایی که رخ می دهد، به ندرت موجب اشکال می شود. اگر کاربر عملی انجام دهد که موجب پاک شدن اطلاعات شود، کادر محاوره ای ظاهر می شود و او را از این واقعه مطلع می سازد. به این ترتیب، او می تواند کلید انصراف را فشار دهد تا عملیات متوقف گردد. که این عمل مفهوم جبران را بیان می کنند. باید به کاربر اجازه داده شود برنامه را کشف کند و تمام عملیاتی که انجام می دهد قابل برگشت و اصلاح پذیر باشند. بخصوص قبل از انجام عملیات مخرب، کاربر باید مطلع شود که چه کاری را می خواهد انجام دهد.
5.

دیدگاهتان را بنویسید