یک مهندس نرم افزار، همانند سایر مهندسین باید بپذیرد که مسئولیت های شغلی اش فراتر از مهارت های تکنیکی و تخصصی و کاری اوست. کارش در یک چارچوب معتبر و اجتماعی انجام می شود. مهندسی نرم افزار از قوانین محلی، ملی و بین المللی پیروی می کند. یک مهندس نرم افزار باید مسئولانه و با توجه به اخلاق اجتماعی رفتار کند. بدیهی است که مهندسین باید استانداردهای عادی صداقت و جامعیت را رعایت کنند. آن ها نباید از مهارت ها و توانایی های خود سوء استفاده کنند یا طوری عمل کنند که منجر به عدم اعتماد و بی آبرو یی مهندسین رشته نرم افزار شوند. ولی مواردی وجود دارند که استانداردهای قابل قبول توسط قانون محدود نمی شوند، بلکه تحت کنترل مسئولیت حرفه و شغل است. بعضی از این ها عبارتند از :
بدین ترتیب، موسسات و سازمان های تخصصی نقش مهمی دارند. سازمان هایی مثل ACM ، IEEE و BCS دستورالعمل های اخلاقی و رفتاری را منتشر کرده اند و اعضای این سازمان ها هنگام عضویت، تعهد می دهند که این اصول را رعایت کنند. ACM و IEEE سعی کردند دستورالعمل های اخلاقی و تخصصی را بوجود آورند. هدف این دستورالعمل را در زیر شرح می دهیم.
کامپیوترها نقش محوری و تکامل را در اقتصاد، صنعت، دولت، پزشکی، تحصیل، تفریح و اجتماع دارند. مهندسین نرم افزار آن هایی هستند که با مشارکت مستقیم یا آموزش، در تحلیل، تعیین مشخصات، طراحی، توسعه، تائید، نگهداری و تست سیستم های نرم افزاری دخالت دارند. به دلیل نقش آن ها در توسعه سیستم های نرم افزاری، مهندسین نرم افزار فرصت ارزشمندی دارند تا کار خوب یا بد انجام دهند و یا دیگران را وادار کنند تا کار خوب یا بد را انجام دهند. برای این که تضمین شود کار آن ها خوب است، مهندسین نرم افزار باید متعهد شوند که مهندسی نرم افزار را یک شغل محترم و پرفایده جلوه دهند. بدین ترتیب، مهندسین نرم افزاراز اصول زیر پیروی خواهند کرد. این اصول حاوی هشت قاعده در مورد رفتار و تصمیماتی است که توسط مهندسین نرم افزار اتخاذ می شود، از جمله شرکا، مدرسین، مدیران، سرپرستان ، سیاست گذاران و دانشجویان. این قواعد، روابط مسئولیت اخلاقی را مشخص می کنند که در آن ها، افراد، گروه ها و سازمان ها شرکت می کنند. بخش هایی از هر قاعده، راجع به وظایف موجود در این روابط شرح می دهند. این وظایف در انسانیت مهندسی نرم افزار وجود دارند و افرادی را شامل می شود که تحت تاثیر مهندسی نرم افزار قرار می گیرند.
اصول اخلاقی مهندسی نرم افزار (ACM/IEEE-1999) مشاهده نسخه اصلی
این نسخه از اصول، امیدها را در سطح بالایی از انتزاع خلاصه می کند. مواردی که در نسخه اصلی آمده اند، شامل مثال های متعددی است. مهندسین نرم افزار متعهد هستند که تحلیل، تعیین مشخصات، طراحی، توسعه، تست و نگهداری نرم افزار را به یک حرفه محترم و پر فایده تبدیل کنند. برای این منظور باید از قواعد زیر پیروی نمایند :
حالا به من بگید چند تا مهندس نرم افزار با مشخصات بالا سراغ دارید؟
