مهندسی نرم‌افزار
قانون بقاي پيچيدگي نرم‏افزار ( the first law of software complexity)

قوانين بسيار زبادي حاكي از آن هستند كه موضوعات طبيعت مقادير ثابتي دارند و از شكلي به شكل ديگر تبديل مي‏شوند. – قانون بقاي ماده و انرژي – قانون P * V / T= Cte – قانون بقاي پروژه در دانشگاه – قانون بقاي دمپايي در خوابگاه Matt Quail در نوشته‏اي با نام “قانون اول […]

مهندسی نرم‌افزار
وقتي كه تجريد و لفاف‏بندي نشتي پيدا مي‏كنند (Leaky Abstractions)

تجرید(Abstraction) به عنوان یکی از مبانی اصلی در رهیافت شیءگرایی و به طور کلی مهندسی نرم‏افزار پذيرفته شده است. تجريد بهمعناي برجسته‏سازي آن چه كه براي خواننده مهم است و حذف آن چه كه براي خواننده مهم نيست، تعريف شده است. ‍‍‌[Mary Shaw]. تجرید و لفاف‏بندی(Encapsulation) همواره توسط طراحان تعديل مي‏شوند.بهعبارت ديگر،تعديل بين آن چه […]

مهندسی نرم‌افزار
جنگلی از ابزار، تكنولوژي و اسم

یکی از ایراداتی که به جاوا در مقابل دات نت وارد است، سخت و تخصصی بودن انتخاب کتابخانه‏ها و منابع متن بازي است كه در سراسر اينترنت پخش شده‏اند. شما با جنگلي از تكنولوژي و نيز اسامي مواجه مي‏شويد كه يكي از مهم‏ترين و حساس‏ترين كارهايي كه بايد انجام دهيد، انتخاب اين بستر است. به […]

مهندسی نرم‌افزار
مهندسی نرم‏افزار تجربي

به لطف آقاي مهندس خوش‏رفتار، با شاخه جديدي از مهندسي و به خصوص مهندسي نرم‏افزار آشنا شدم كه كارهاي تحقيقاتي و پژوهشي وسيعي در آن انجام مي‏گيرد. مهندسي نرم‏افزار تجربي يا Empirical Software Engineering شاخه‏اي از مهندسي نرم‏افزار است كه سعي دارد تا تجارب و نتايج عملي استفاده از كاربرد حوزه‏هاي مختلف مهندسي نرم‏افزار را […]

مهندسی نرم‌افزار
الگوي Facade

منظر معادلی است که آقاي دكتر رامسين برایالگویFaçade انتخابکرده است. پيشنهاد من ايناست كه واژه دريچه هم معادل خوبي است. آقای بهروز بختیاری معادل نما را انتخاب کرده‏اند و در وبلاگ خود(مهندسی نرم‏افزار) به بررسي آن پرداخته‏اند. كلمه Façade ريشه فرانسوي دارد و از تغيير حرف c نيز پس از تايپ آن در Microsoft Word […]

مهندسی نرم‌افزار
معماری نرم‏افزار – قسمت سوم: معماری از دید مدیریت

یادم نمی‏آید که در جایی خواندم یا از کسی شنیدم که تحقیقی در مورد اینکه چرا نرم‏افزار در ایران مانند سایر صنایع رشد نکرده انجام شده و نتیجه تحقیق این بوده که مهم‏ترین عامل عدم گسترش نرم‏افزار به عنوان یک صنعت این موضوع دانسته شده بود که پیشروان این حرفه، افراد فنی بوده‏اند و نه […]

مهندسی نرم‌افزار
راهی که در پيش است: وب 2.0 نسل بعدی نرم‌افزار

مقاله‌ی جالبی از Tim O’Reilly در مورد نسل بعدی نرم‌افزارها مطالعه کردم که ضمن آوردن آدرس آن، خلاصه‌ای از آن را نيز در زير آورده‌ام. وی در مقاله خود آورده که سعی کرديم ابتدا با مثال تفاوت وب 1.0 و وب 2.0 را حس کنیم: Web 1.0 Web 2.0 DoubleClick Google AdSense Ofoto Flickr Akamai […]