مهندسی نرم‌افزار
The Limits of Software – Part I – The Problems of Design

The difficulty of design, therefore, lies in choosing which design and architectural patterns we should use to best balance the technical, economical, business, political, and emotional forces that swirl around every software-intensive system. To put it in terms of the laws of software, this general problem of design is probably NP-complete: there likely exists some […]

مهندسی نرم‌افزار
OMG SysML

the OMG Systems Modeling Language (OMG SysML) is a general-purpose modeling language for systems engineering applications.SysML supports the specification, analysis, design, verification and validation of a broad range of complex systems. These systems may include hardware, software, information, processes, personnel, and facilities.The origins of the SysML initiative can be traced to a strategic decision by […]

مهندسی نرم‌افزار
What makes software so hard

ماهنامه The Rational Edge در شماره اخير خود مقاله‏ای با عنوان What makes software so hard دارد که به نکات جالبی اشاره کرده است.هر چند اين موضوع در مراجع مختلف و از ديدگاههای مختلف بررسی شده است، اما مرور آن خالی از لطف نيست.در اين مقاله به مقايسه مهندسی نرم‏افزار با ساير حوزه‏های رايج مهندسی […]

مهندسی نرم‌افزار
بازنویسی نرم‏افزار

To rewrite or not to rewrite, that is the questionPeople seem to have given up completely on the notion of rewriting software. This is a shame since so much software needs rewritten, but it’s understandable since so many software rewrites fail. The decision on whether or not to rewrite is a complex one, and most […]

مهندسی نرم‌افزار
Why great coders get paid far too little

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

مهندسی نرم‌افزار
Software Architecture – The Next Generation

The study of software architecture involves the understanding of the large-scale structures of software systems. Since the mid 1980s, when the field began, software architecture has largely been concerned with engineering and understanding the interaction of well-defined components over well-defined communication paths via well-defined interfaces. However, a much different world is emerging. Systems are built […]

مهندسی نرم‌افزار
بستنی وانیلی و روش مهندسی

بخش پونتیاك شركت خودروسازی جنرال موتورز شكایتی را از یك مشتری با این مضمون دریافت كرد: «این دومین باری است كه برایتان می‌نویسم و برای این كه بار قبل پاسخی نداده‌اید، گلایه‌ای ندارم؛ چراكه موضوع از نظر من نیز احمقانه است! به هر حال، موضوع این است كه طبق یك رسم قدیمی، خانواده ما عادت […]