مهندسی نرم‌افزار
بیست و یک قانون برنامه نویسی (برای خندیدن)

As any experienced computer programmer knows, there are unwritten laws that govern software development. However there are no penalties for breaking these laws; rather, there is often a reward. Following are 21 Laws of Computer Programming: 1. Any given program, once deployed, is already obsolete. 2. It is easier to change the specification to fit […]

مهندسی نرم‌افزار
Seven Principles of Software Testing

While everyone knows the theoretical limitations of testing, in practice we devote considerable effort to this task, and would consider it foolish or downright dangerous to skip testing. Other verification techniques, such as static analysis, model checking and proofs, have great potential, but it is unlikely they will ever fully remove the need for testing. […]

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

در طراحي و ساخت محصولات نرم‌افزاري، سادگي اصلي است بسيار مهم. سادگي راه حل و طراحي معيار مهمي در انتخاب گزينه‌هاي مختلف است. به همين دليل، پيدا كردن راهي براي بازتعريف سادگي با هدفِ اعمال آن در طراحي‌ها و راه‌حلهاي مبتني بر نرم‌افزار موضوع مهمي خواهد بود. John Maeda در كتاب The Laws of Simplicity […]

مهندسی نرم‌افزار
Evaluating Software Design Patterns

[Evaluating Software Design Patterns — the “Gang of Four” patterns implemented in Java 6] In this project, we perform an evaluation of the “Gang of Four” design patterns from a practical and experimental point of view using Java 6 as the implementation language. We investigate how Java 6 language features affect the application of the […]

مهندسی نرم‌افزار
ّFive reasons why I still write use cases

XP pretty much banned use cases, replacing them with the similar sounding “user stories” (see A user story is to a use case as a gazelle is to a gazebo}, and as a result agile zealots have been happy to dump use cases in the trash (along with their project managers, estimates, plans, and architectures). […]

مهندسی نرم‌افزار
Design Pattern Based Web Applications

Pattern-based web applications have become popular since they promote reusability and consistency. In few cases, patterns do not produce the desired effect because of lack of experience in applying them. This situation forces one to think of a suitable re-engineering solution for such applications. The objectives of the paper are three fold. It provides a […]

مهندسی نرم‌افزار
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 […]