مهندسی نرم‌افزار
Taking the temperature of UML

More than twelve years have passed since UML, the Unified Modeling Language, became a standard. At the beginning of the 1990s there were 26 published methods on object-orientation, most methods with its own notation. It was to address at least the notation problem that UML was conceived.UML also found a number of detractors. It was […]

مهندسی نرم‌افزار
The Promise, The Limits, The Beauty of Software

Grady Booch is an IBM Fellow and one of the co-creators of UML. In this talk, he discusses the complex matrix of decisions and processes, both intentional and unintentional, that lead to the software designs and architectures upon which we increasingly rely in everyday life. This is a version of a talk originally given to […]

مهندسی نرم‌افزار
‍Changing in Design Pattern Catalog

Larry O’Brien recently interviewed three of the Gang of Four about their seminal work on patterns, “Design Patterns 15 Years Later: An Interview with Erich Gamma, Richard Helm, and Ralph Johnson“. Larry: How would you refactor “Design Patterns”?Erich: We did this exercise in 2005. Here are some notes from our session.When discussing which patterns to […]

مهندسی نرم‌افزار
Designing object-oriented software is still hard

Larry O’Brien recently interviewed three of the Gang of Four about their seminal work on patterns, “Design Patterns 15 Years Later: An Interview with Erich Gamma, Richard Helm, and Ralph Johnson“. Larry O’Brien: “Designing object-oriented software is hard,” are the first words of Design Patterns. Are those words still accurate? Richard Helm: Software design is […]

مهندسی نرم‌افزار
نیاز کاربران و راه‌حلهاي مبتني بر نرم‌افزار

وقتي كارفرما و كاربر سيستم نرم‌افزاري، دانش و تجربه‌ي توليد سيستم نرم‌افزاري را داشته باشد، هم مي‌تواند كمك شما باشد و هم ممكن است شما را به دردسر بيندازد.مثلاً كاربر به جاي آن كه بگويد «نياز من اين است كه اطلاعات پرسنل را در سيستم نگهداري كنم»، بگويد «من فرمي مي‌خواهم كه در آن نام […]

مهندسی نرم‌افزار
آموزش علوم کامپیوتر – ایوار جیکابسون

How should we approach computer science in education?Ivar Jacobson: … You can learn to do Java programming at a university level, or any other language they might have taught if you go back in time, but if you really want to understand software, you need to have competencies in many other different areas, such as […]

مهندسی نرم‌افزار
پيچيدگي

روز به روز بر پيچيدگي مسائل و راهكارهايي كه با آنها روبرو مي‌شويم، افزوده مي‌شود. اين موضوع مختص نرم‌افزار نيست. تا ديروز براي فهم سيستمي مانند انبار كافي بود كه يك هفته وقت صرف گردد،‌ مطئمن بوديد كه با صرف زماني مي‌توانيد به تكنولوژي نوظهوري تسلط نسبي پيدا كنيد. اما حالا چطور؟ “The challenge over […]