مهندسی نرم‌افزار
Common Misconceptions about Software Architecture – Part II

“Architecture is [insert favorite technology here].”“The network is the architecture. The database is the architecture. The transaction server is the architecture. The GUI is the architecture. CORBA is the architecture. This standard is the architecture…” This is a special case of the previous point. Yes, many of these aspects are part of the architecture, but […]

مهندسی نرم‌افزار
Common Misconceptions about Software Architecture- Part I

“Architecture is design.”Yes, architecture is design. It is about making the difficult choices on how the system will be implemented. It is not just the “what.” But not all design is architecture. Architecture is one aspect of the design, focusing on the major elements — the elements that are structurally important, but also those that […]

مهندسی نرم‌افزار
Responsibility-Driven Design

Responsibility-Driven Design و به خصوص تکنیک CRC-Class Responsiblity Collaboration- یکی از ساده‏ترین تکنیکها و روشهای طراحی شیءگرای نرم‏افزار است. مبدع آن، خانم Wirfs-Brock است. کتاب ایشان با نام Designing Object-Oriented Software منتشر شده به سال 1990، یکی از تأثیرگذارترین کتابهای حوزه طراحی شیءگرا بوده است. در سایت شرکتشان در مورد ایشان آمده است: Rebecca Wirfs-Brock, […]

مهندسی نرم‌افزار
What Is Domain-Driven Design?

Over the last decade or two, a philosophy has developed as an undercurrent in the object community. The premise of domain-driven design is two-fold: For most software projects, the primary focus should be on the domain and domain logic; and Complex domain designs should be based on a model. Domain-driven design is not a technology […]

مهندسی نرم‌افزار
Coding Standards- بخش سوم

The Tyranny of Tools I have seen teams attempt to enforce a style through the use of tools. Some tools are benign and helpful. Many IDEs, for example, allow you to specify things like indent level, brace placement, etc. With a single keystroke you can ensure that a batch of code conforms to the team […]

مهندسی نرم‌افزار
Coding Standards- بخش دوم

Style not Substance A good coding standard should be about style and form, not about substance. It should not attempt to legislate good design. It should not, for example, proscribe goto or public variables. Those rules are part of the body of knowledge that all software developers should have, and are not a matter of […]

مهندسی نرم‌افزار
Coding Standards- بخش اول

یکی از مهمترین مراحل در توسعه نرم‏افزار، برنامه‏نوسی و کدنویسی آن است و یکی از مهمترین مشکلات در این مرحله، کم‏کیفیت و ناهمگون بودن کدی است که توسط برنامه‏نویسان نوشته می‏شود. برای حال یا کاهش اثر این معضل، یکی از روشهایی که معمولاً به کار می‏بریم، تدوین استانداردهای برنامه‏نویسی است که برنامه‏نویسان ملزم به پیروی […]