صفحه شخصی سید علا سبزپوش

برنامه نویس دات نت و sql_server --ریاضیات

صفحه شخصی سید علا سبزپوش

برنامه نویس دات نت و sql_server --ریاضیات

مفهوم نرم افزار تحت وب

هیچ چیز در دهه 90 به اندازه وب جهانی ، ارتباطات را تغییر نداده است . وب که از ایده ای در مورد سازماندهی اطلاعات iغیر خطی ریشه گرفته ، تا به امروز چنان رشد کرده است که به عنوان سیستم ارتباطی دهها میلیون نفر در سراسر جهان از آن استفاده می کنند، شناخته می شود .در واقع شکی نیست که هم اکنون وب راهی برای دریافت اطلاعات ، ارتباطات و تداخل کلی روی اینترنت است .

به همین ترتیب نرم افزاری که برای مشاهده اطلاعات وب (مرورگر وب یا browser ) به کار می رود ، به چنان اهمیتی رسیده است که شرکتهای بزرگ نرم افزاری ، کلیدی ترین بخش تولیدات خود را به آن اختصاص داده اند .

ابعاد تکنیکی وب

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

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

اساس عملکرد وب
مدل سرویس گیرنده / سرویس دهنده در سیستم شبکه های کامپیوتری شامل 3 جز است :
سرویس دهنده    -    سرویس گیرنده – و شبکه  .

سرویس گیرنده : یک نرم افزار است که بر روی کامپیوتر کاربر اجرا می شود و سرویس دهنده نرم افزاری است که برروی کامپیوتری که عمل تغذیه اطلاعاتی را به عهده دارد اجرا می شود .
نرم افزار سرویس گیرنده می تواند متناسب با سیستم سخت افزاری کاربر تهیه شود، در واقع به عنوان یک رابط بین آن سیستم و سیستم سرویس دهنده عمل می کند . کاربر از طریق این نرم افزار می تواند درخواستهایی برای دریافت اطلاعات و یا انجام اعمالی ارسال کند . این درخواست از طریق شبکه به کامپیوتر سرویس دهنده می رسد و آن هم به نوبه خود این در خواست را تفسیر کرده و اعمال لازم را انجام می دهد

برنامه های تحت وب

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

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

بطور خلاصه نرم افزار تحت وب : نرم افزاری است که تما م اطلاعات در سرور نصب می شود و شما برای دستیابی به اطلاعات باید از مرور گر اینترنت استفاده کنید.


امنیت در وب

امنیت یکی از مهمترین دغدغه های فکری تولید کنندگان سایتها و برنامه های تحت وب است. برای ایمن سازی هر نرم افزار تحت وب باید اطمینان حاصل کنید که داده های خصوصی که در بین سرویس گیرنده و سرور ارسال می شوند ، کاملا ایمن هستند.
اما قبل از پرداختن به مقوله امنیت نرم افزار تحت وب ، باید خود امنیت را تعریف کنیم ؟

تعریف امنیت تحت وب: به مجموعه فرایند هایی گفته می شود که باعث حفاظت از اطلاعات ،بواسطه یکسری محدودیتها و ابزار می شود .

طبقه بندی امنیت نرم افزارهای تحت وب :
1-امنیتی که توسط نرم افزار ایجاد می شود یعنی در کد برنامه باید یکسری کدهای امنیتی ایجاد شود
در این سطح امنیتی کنترل امنیت کاملا توسط نویسنده نرم افزار ایجاد می شود و برنامه نویس می تواند با خلاقیتهای خود انواع روشهای امنیتی را اعمال کند.

2-امنیتی که توسط سرور یا میزبان نرم افزار اعمال می شود.

در این حالت 2 گزینه دارد
  الف-سرور در اختیار شماست: اگر سرور در سازمان شما باشد شما می توانید همانند حالت 1 گزینه های امنیتی خاص و مورد نیاز خود را تعریف کنید
  ب- سرور خارجی و در اختیار شما نیست : در این حالت کنترل دست شما نیست و شما مجبور هستید از همان تنظیمات امنیتی تعریف شده توسط شرکت ارایه دهنده سرور استفاده کنید.

چه چیزهایی باید ایمن شوند:

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

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

اما در جواب چگونگی ذخیره شدن اطلاعات چندین روش وجود دارد که باید به آنها توجه کنید که در اینجا بحث مدیریت اطلاعات مهم مطرح می شود .در بحث مدیریت اطلاعات نیز چند موضوع مهم مطرح می شود :
1-رمز نگاری اطلاعات  :
برخی اطلاعات جنبه ی حیاتی دارند و حتی خود برنامه نویس هم بعد از انتشار برنامه نباید از اونها مطلع باشه. مثل کلمه ی عبورحساب بانکی یک فرد. در این حالت این کلمه ی عبور باید با یک الگوریتم به رمز در بیاد و در بانک اطلاعاتی ذخیره شود. بهتر هست که این دسته از اطلاعات با استفاده از یک بستر انتقال امن منتقل شوند.

مانند پروتکل  SSL

SSL  چیست ؟ نوعی پروتکل امنیتی است که امکان می دهد داده ها را با استفاده از رمز گذاری از طریق اینترنت ارسال کنید .برای تشخیص اینکه داده ها از طریق اتصال امن انتقال می یابند می توانید به آدرس موجود در خط آدرس مرورگر اینترنت دقت کنید اگر به جای http    عبارت  https   آغاز شده باشد در آن صورت متوجه می شوید که شما از طریق اتصال امن در حال انجام عملیات خود هستید . به عنوان مثال به ابتدای آدرس زیر که سایت بانکداری اینترنتی ملت است دقت کنید
https://ebanking.bankmellat.ir/ebanking/
پروتکل SSL قبل از اینکه اطلاعات شخصی مشتری از رایانه او خارج شود آنها را کدگذاری و رمز نگاری کرده تا این اطمینان برای مشتری حاصل شود که هنگام ارسال و دریافت اطلاعات هیچ شخص دیگری نمی تواند اطلاعات را خوانده و یا آنها را تغییر دهد.
2-جلوگیری از ورود اطلاعات پی در پی توسط نرم افزارها :
حتما دیده اید که در بعضی سایتها و نرم افزارها برای ثبت نام از تصاویر اینترنتی استفاده می کنند که عبارتی در آن وجود دارد که شما باید آن را در جای مخصوص ثبت کنید ، می دانید چرا ؟
یک تصویر امنیتی از تعدادی حرف و عدد در کنار هم تشکیل شده که تنها انسان ها قادر به خواندن اونها هستند و در جایی که نیاز به ورود اطلاعات هست استفاده میشه. کاربرد تصاویر امنیتی در جلوگیری از ارسال مداوم داده ها به سرور هست . حملاتی که به اشغال شدن سرور منجر میشن به حملات DOS معروف هستند. نوشتن برنامه ای که در فواصل زمانی کوتاه، مدام داده هایی رو از طریق برنامه ی شما به سرور ارسال کنه بسیار راحت هست. بدین دلیل همیشه در صفحاتی که برای عموم قابل مشاهده هست (و نه خواص) حتما از تصاویر امنیتی استفاده کنید.


3-جلوگیری از دسترسی و تخریب اطلاعات توسط کاربران غیر مجاز:
برای جلوگیری از تخریب اطلاعات توسط کاربران باید روشهای آسیپ پذیری اطلاعات را بدانیم که بنده به مهمترین آنها اشاره ای می کنم البته روشها زیاد است ولی من 3 تا را بررسی می کنم
 
1-  محافظت از برنامه در برابر   SQL Injection
به طور خلاصه، به تزریق کدهای SQL از طریق برنامه، SQL Injection گفته میشه.
شاید بشه گفت که خطرناکترین نوع حمله ای که می تونه به یک برنامه صورت بگیره SQL Injection هست که متاسفانه بسیاری از افراد اون رو نادیده میگیرن و نسبت به اون بی توجه هستن.
عدم توجه به توانایی تزریق SQL به برنامه، عملا دیتابیس رو در اختیار فرد مهاجم قرار میده و می تونه تمام هست و نیستی شما رو بر باد بده! یعنی فرد مهاجم بحای ورود اطلاعات مناسب یک دستور sql  به بانک اطلاعاتی ارسال می کند که باعث صدمه به اطلاعات می شود. مثلا به هنگام ورود اطلاعات نام و رمز کاربر برای ورود به برنامه ، مهاجم می تواند یک دستور  sqlرا بفرستد ، در این حالت برنامه نویس باید در ورود اطلاعات از برنامه به بانک اطلاعاتی دقت کند .

2-محافظت از برنامه در برابر حملات XSS
این روش ایجاد اختلال در صفحات وب با اجرای اسکریپت است .یک هکر برای حمله با تزریق یک اسکریپت در میان صفحه وب از طریق قسمت ورودی های کاربران و کلیک دکمه تایید بدون چک کردن لازم می تواند صفحه شما را مورد حمله قرار دهد .
 
3-حافظت از برنامه در برابر   Session Hijacking
یکی از قدیمی ترین حملاتی که به برنامه های وب صورت می گیره سرقت Session هست. Session برای نگهداری داده هایی به کار میره که برای هر کاربر منحصر به فرد هستند. مثلا نمایش نام کاربر پس از لوگین، در تمامی صفحات سایت Session در حافظه ی سرور نگهداری میشه نرم افزار برای اینکه بتونه تشخیص بده که هر Session متعلق به کدام کاربر هست، مشخصه ای یکتا برای هر Session ایجاد می کنه و این مشخصه رو در یک کوکی ذخیره می کند . پر واضح هست که اگر کوکی ها در مرورگر کاربر غیر فعال باشند، استفاده از Session عملا کاربردی نداره به طور خلاصه اگر فردی بتونه این کوکی رو به سرقت ببره، به راحتی می تونه خودش رو صاحب Session شما معرفی کنه.

مقایسه سیستمهای یکپارچه . جزیره ای و erp از دیدگاه کاربردی

 مقایسه سیستمهای یکپارچه . جزیره ای و erp  از دیدگاه کاربردی

 

اواخر قرن بیستم، کسب و کار تحت تأثیر سه پدیده مهم تغییر شکل یافت: مشتری، رقابت، تغییر

مشتری: دیگر به هر کالا و هر کیفیت رضایت نمی دهد

رقابت: به دلیل افزایش جمعیت و گستردگی جهانی شدن رقابت به بالاترین شکل ممکن افزایش پیدا کرده است

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

 

 

برای اینکه یک سازمان یا تولید کننده از قافله عقب نماند نیاز به عناصر حیاتی ذیل است:

 

1-بهره‌وری بالا و برنامه‌ریزی صحیح

2-کنترل قیمت تمام شده محصولات

3-مدیریت صحیح مواد و وجودی کالا

4-کنترل تعهدا ت سازمان و نقد ینگی

 

با این مقدمه به اهمیت سیستمهای اطلاعاتی پی می بریم

 

 

 

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

 

اکنون این سوال مطرح می شود که با توجه به گستردگی شرکتهای ارایه دهنده این سیستمها چه نوع سیستمی برای سازمان یا شرکت ما مناسب است. که برای جواب به این سوال باید ابتدا انواع طبقه بندی این سیستمها را از نظر کاربردی بدانیم

 

انواع سیستمهای نرم افزاری از نظر کاربردی

 

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

این سیستمها معمولا مورد نیاز مشاغل کوچک می باشند  معمولا برای مشاغل 1 تا 5 نفره است

 

فرایند حسابداری در این سیستمها بسیار ساده است مثلا فرایند فروش کالا

 

درخواست مشتری -------->  فاکتور فروش ----سند حسابداری فروش

شرکتهای شاغل در این زمینه:

  

مانند سیستمهای شرکتها .  طرفه نگار ، برلیان ، آسان ، رافع ، و غیره

 

2-سیستمهای جزیره ای :

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

 

3-سیستمهای اطلاعاتی  mis       (management information systems)

سیستمهای مدیریت اطلاعات سازمان ، نام دیگر این سیستمها سیستمهای یکپار چه اطلاعات است . این سیستمها امروزه در اکثر سازمانهای ایران بکار می رود .این سیستمها به صورت یک بسته نرم افزاری ارایه می شوند که اغلب ساختاری یکپارچه و همواره غیر منعطف دارند و طبیعتاً نمی‌توانند نیاز اطلاعاتی سازمانهای بزرگ را که فرایندهای پیچیده و اختصاصی دارند، پوشش دهند.

این سیستمها تکامل یافته سیستمهای جزیره ای است . با این تفاوت که ارتباط بین اجزای سیستم کاملتر شده است ولی فاقد فرایند و قاعده انعطاف پذیر است .

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

در واقع، بسته‌های نرم‌افزاری، نیازهای محدود را برآورده می‌سازند البته فرآینده ها در این سیستمها کمی پیچیده تر از مورد 2 است

مثلا فرایند فروش

 

درخواست مشتری --------تحویل از انبار-------صدور فاکتور فروش------سند حسابداری فروش

 

 

مهمترین بخشهای این سیستمها به شرح زیر است :

 

حوزه مالی:

- حسابداری مالی و کنترل بودجه

- حسابداری اعتبارات

- مدیریت منابع و وجوه نقد

حسابداری انبار

- حسابداری اموال

حوزه اداری :

- اتوماسیون اداری    - - مدیریت منابع انسانی  - - کنترل کارکرد کارکنان (تایم شیت)

حوزه بازرگانی:

مدیریت قراردادها             خرید خارجی (سفارشات)            خرید داخلی (تدارکات)

مدیریت فروش                مدیریت توزیع

 

حوزه تولید و تجهیزات:

اطلاعات مهندسی          برنامه ریزی تولید        نگهداری و تعمیرات ماشین آلات و تجهیزات

حوزه مدیریت:

جمع آوری و تهیه گزارشات آماری و تجمیعی          گزارشدهی به مدیریت     مدیریت سهام

 

هر کدام از سیستمهای فوق به صورت یکپارچه کار می کند و با هم در ارتباط است اما این ارتباط فاقد فرایندهای کامل است بلکه صرفا فرایندی ساده در نظر گرفته می شود همانند مثال فروش

این سیستمهای نه تنها بر اساس فرایندهای ساده کار می کنند بلکه امکان پی گیری فرایندی یا تغییر فرایندی در اکثر این سیستمها امکان پذیر نیست .

نکته : اکثر سیستمهای مورد استفاده فعلی در سازمانها از همین نوع است.

 

3- سیستمهای برنامه ریزی منابع سازمانی erp

Enterprise Resource Planing

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

در خواست مشتری ------پیش فاکتور فروش--------عقد قرارداد حقوقی ------مجوز تحویل فروش---

--------تحویل کالا از انبار ------محاسبه قیمت تمام شده کالا-------فاکتور فروش -----سند حسابداری فروش

 

در اینجا سازمانها وارد کانال با قاعده و قانونی می شوند، هر کجا که قرار باشد سیستم تصمیم گیری کند باید از قواعد آگاه بوده و به همین جهت سطح وابستگی افراد بیشتر از سیستم های جزیره ای و یکپارچه است. در کنار این مسئله، بحث تغییرات هم وجود دارد. نیازها تغییر می کند، با تغییر نیازها سیستم نیز باید تغییر کند. کاربر محدود است و در این مرحله است که پشتیبانی وارد عمل می شود. در واقع پشتیبانی در   erpرابطه ای تنگاتنگ با سازمان ایجاد می کند تا بتواند هم پای تغییر نیازها، تغییر در سیستم را نیز ارائه کند و عملا سیستم از سازمان عقب نماند.

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

 

در آینده مقایسه نر م افزارها از لحاظ پلات فرم را توضیح می دهم

پلات فرمها مایکروسافت

1-تحت ویندوز   2- تحت وب

پلات فرمهای لینوکس

1-سورس باز

2-تحت وب

 

 

 

 

 

بررسی مهندسی نرم افزار از دیدگاه Pete McBreen بخش۴

تست برنامه و پشتیبانی

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

در مهندسی نرم افزار , نرم افزار بصورت چندین نسخه ارایه می شود که در هر نسخه اشکالات قبلی برطرف می شود و قابلیتهای جدید به نرم افزار اضافه می شوند. فرایند پشتیبانی ارتباط مستقیم دارد به خواسته های کاربران و گزارشاتی که آنها ارسال می کنند

 

اما فرایند توسعه واشکال زدایی نرم افزار بر عهده همان تیم برنامه نویسی خواهد بود حال برنامه باید بگونه توسعه یابد که بتوان براحتی آن ارپشتیبانی کرد برای اینکار 2 راه وجود دارد:

1-     برنامه باید به روانترین و ساده ترین شکل ممکن توسعه  یابد

2-     برنامه باید کاملترین امکانات را داشته باشد یعنی تمام نیازمندیها را درنظر بگیرید و اعمال کنید . این روش بسیار هزینه بر و زمان بر است

 

پس بهترین کار تلفیقی از 2 روش بالا است

 

خصوصیات یک نرم افزار:

 

1-                             globalization باید نرم افزار قابلیت پشتیبانی زبانهای دیگر را براحتی داشته باشد و نباید فقط محدود به زبان مادری باشد

2-                             دارای رابط کاربر یکسان و اسان

3-                             ایجاد نرم افزار امن یعنی اگر خطایی توسط کاربر ایجاد شد نباید اطلاعات اسیب ببیند مثلا : پشیتبان گیری از داده ها , جلوگیری از ورود اطلاعات نادرست و دادن پیغامهای مفهموم به کاربر در مورد هر خطا

 

چند نکته :

همیشه از تیم برنامه نویسی برای پشتیبانی استفاده کنید و به هنگام قرارداد بستن با برنامه نویسان فقط در مورد برنامه نویسی قرار داد نبندید بلکه پشتیبانی را هم در نظر بگیرید

 

در بخش اخر کتاب نویسنده به برنامه نویس توصیه می کند که تا آخر عمرش باید دست از آموزش چیزهای جدید برندارد و به شرکتها توصیه می کند که حداقل 5 در صد وقت برنامه نویسان خود را به مطالعه و آموزش اختصاص دهند  و همچنین کتابها و امکانات مطالعه آموزشی حتما در اختیار برنامه نویسان خود قرار دهند

 

برنامه نویسان باید چیزهایی که یاد گرفته اند را در عمل استفاده کنند چرا که ممکن است آن را فراموش کنند ,

 

ختم کتاب با جمله

 

Software development is meant to be fun. If it isn't, the process is wrong