روش انجام کار، انعطاف پذیری، استانداردها

 

• ظاهر برنامه: از جمله مهم ترین عوامل موثر در خوانا بودن یک نرم افزار، شکل ظاهری برنامه است. به عنوان نمونه می توان به طول خط ها، میزان تورفتگی ها، اندازه قسمت ها(ماجول ها)، طریقه نوشتن عبارات و کلمات و اسامی، رنگ نوشته ها و میزان فاصله میان عبارات اشاره نمود.
• اسامی مناسب: باید برای متغیرها و ماجول های موجود در برنامه از اسامی گویا و مناسب استفاده نمود بگونه ای که نام آنها معرف عملکردشان باشد.
• توضیحات: در میان خطوط برنامه و در هر کجا که لازم باشد، باید توضیحاتی ارائه گردد. این توضیحات عموما”برای مشخص کردن کار ماجول ها، متغیرها و یا روش انجام کار استفاده می شود.
1-5-5 قابلیت استفاده مجدد
بکارگیری یک برنامه و یا قسمتی از آن را در تولید نرم افزار جدید، امکان استفاده از نرم افزار را گویند. همانطور که در تهیه سخت افزار جدید، تراشه ها باز سازی مجدد نمی شوند و از آنها استفاده می گردد، در مورد نرم افزار نیز چنین نمی باشد. عوامل موثر در قابلیت استفاده مجدد عبارتند از:
عدم استفاده از متغیرهایی جهانی: استفاده از متغیرهای محلی و پارامترها در برنامه موجب می گردد تا وابستگی به دیگر اجزا و قسمت ها وجود نداشته باشد.
کتابخانه ها : وجود کتابخانه ها موجب می گردد تا راحت تر و بهتر بتوان از قسمت های مختلف استفاده مجدد نمود. چرا که خاصیت اصلی کتابخانه، استقلال اجرایی می باشد.
استقلال: استقلال دارای دو جنبه می باشد. یکی استقلال سخت افزاری و دیگر استقلال نرم افزاری است. هیچ وقت نرم افزاری به طور کامل مستقل از سخت افزار نمی باشد. حتی نرم افزارهای تولید شده توسط زبان جاوا نیز دارای استقلال نیستند(زیرا چنین برنامه هایی قابلیت اجرایی ندارند و باید توسط یک مرورگر جاوا به اجرا درآیند).
پیمانه بهتر است در هر برنامه انجام کارها توسط قسمت ها(رویه ها و یا توابع)انجام شوند. به طوری که بتوان از آن قسمت ها در برنامه های دیگر هم بهره برد. در این مقوله یک سوال مهم این است که اندازه قسمت چقدر باشد؟ هرچه قسمت کوچکتر باشد، به همان نسبت قابل فهم تر نیز هست. ولی قسمت های کوچک در هنگام بسط و تکمیل برنامه در معرض از بین رفتن قرار می گیرند. یک نظریه این است که قسمت نباید بیشتر از یک صفحه(بین 40تا 50خط)باشد. نظریه دیگر این است که باید هر قسمت عموما”هفت خط و در صورت نیاز حداکثر 9 خط دستور باشد. وجود عدد هفت ریشه روانی دارد. سوال دومی که مطرح است، میزان پیچیدگی قسمت چه مقدار باید باشد؟ منطق موجود در هر قسمت باید تا آنجا که ممکن است ساده و آسان باشد. ولی این سادگی با حجم یک قسمت در تضاد می باشد. بنابراین در هنگام تهیه قسمت ها جواب این دو سوال باید در حالت تعادل باشند. سوال سوم، میزان فعل و انفعالات بین قسمت ها باید چقدر باشد؟ مسلم است که هر چه مقدار ارتباط قسمت ها کم تر باشد، بهتر است. طبق بررسی های انجام شده به این نتیجه رسیده اند که بیشتر از چهار پارامتر به هر قسمت نباید داده شود.
1-5-6 انعطاف پذیری نرم افزار
برای آنکه برنامه یا قسمتی از آن در جای دیگر به کار رود (قابلیت استفاده مجدد) باید تغییراتی صورت گیرد تا برای کار جدید و یا محیط جدید بکار آید. در این حال، انعطاف پذیری روال نقش بسیار مهمی در انجام تغییرات و استفاده مجدد خواهد داشت. از مزایای انعطاف پذیری می توان به بالا رفتن سرعت برنامه نویسی، سادگی نگهداری برنامه، افزایش خوانایی و قابلیت استفاده مجدد نام برد.
1-5-7 قابلیت حمل
امکان جابجایی نرم افزار از یک محیط کاری به محیط کاری دیگر را قابلیت حمل گویند. این محیط می تواند کامپلیر، سیستم عامل و یا سخت افزار باشد. قابلیت حمل در دو سطح کلی مطرح است. یکی قابلیت حمل از یک محیط به محیط هم خانواده و دیگری قابلیت حمل از یک محیط به محیط متفاوت دیگر است. با ظهور زبان های سطح بالا و ایجاد استانداردهای بین المللی، دور نمای روشنی برای تهیه برنامه های کاربردی قابل انتقال ایجاد شده است. عوامل موثر در قابلیت حمل عبارتند از:
• عدم وابستگی به سیستم عامل: یعنی اگر در برنامه سیستم عامل داس نوشته شده است، بتوان آن را در سیستم عامل دیگری نیز اجرا نمود.
• عدم استفاده مستقیم از دستورات و عملیات سیستم عامل: اگر در برنامه از دستورات و امکانات خاص سیستم عامل داس استفاده شده است (استفاده از وقفه های داس) ، در سیستم عامل دیگری قابلیت اجرایی نخواهد داشت.
• عدم وابستگی به سخت افزار: این عدم وابستگی در دو سطح مطرح می گردد. حالت اول در سخت افزارهای هم خانواده است. یعنی اگر بر روی پردازنده 80286 اینتل کار کند، بتواند بر روی پردازنده های هم خانواده دیگر مانند 80486 و غیر نیز اجرا شود. حالت دوم در سخت افزار های غیر هم خانواده است. بدین معنی که اگر برنامه ای بر روی کامپیوترهای شخصی سازگار با IBM اجرا شد. بتواند بر روی کامپیوترهای دیگر(اعم از شخصی و غیر شخصی) نیز اجرا شود.
• کامپلیر: برای تهیه برنامه باید از کامپلیرهایی که در تمام محیط هایی که قرار است برنامه در آنها اجرا شود، موجود باشند. همچنین امکان استفاده غیر مستقیم از امکانات سیستم عامل و سخت افزاری را در اختیار قرار دهند.
• استفاده از زبان های سطح بالاتر: در زبان های سطح پایین وابستگی شدیدی به سخت افزار وجود دارد (مانند زبان اسمبلی). هر چه از زبان سطح بالاتری استفاده نماییم، امکان انتقال آن نرم افزار بیشتر می شود.
• پیمانه ای بودن نرم افزار: نرم افزار اگر متشکل از قسمت ها (ماجول ها) باشد، می تو
ان اجزایی که وابسته به سخت افزار هستند (از دستورات سخت افزار و یا سیستم عامل بهره می برند) را برای محیط جدید تغییر داد.