مهندسی نرم‌افزار
سرقت

There once was a man who went to a computer trade show. Each day as he entered the man told the guard at the door: “I am a great thief, renowned for my feats of shoplifting. Be forewarned, for this trade show shall not escape unplundered.” This speech disturbed the guard greatly, because there were […]

مهندسی نرم‌افزار
Things Every Software Architect Should Know

احتمالاْ این نوشته، طولاني‌ترين نوشته وبلاگ خواهد شد. فهرست زير شامل نود و هفت پند و ارز است براي معماران نرم‌افزار كه توسط تعدادي از خود آنان نوشته شده است. اين متن را خانم ملكوتي‌خواه برايم ارسال نموده‌اند كه صميمانه از ايشان تشكر كرده و برايشان آرزوي توفيق دارم. The following are axioms for software […]

مهندسی نرم‌افزار
Top N Software Risks

A list of top N risks, especially during risk survey, is helpful in getting afeel of the risk environment. Here are a few examples:Brian A. Will’s List1. Creeping requirements2. Requirements or developer gold plating3. Low quality of released software4. Unachievable schedule5. Unstable tools causing schedule delay6. High turnover7. Friction between developers and customers8. Unproductive office […]

مهندسی نرم‌افزار
ِDependency Injection and Inversion Of Control

آفرينش اشياء(Object Creation) به عنوان يكي از موضوعات مهم در طراحي به شكلي با موضوع جذاب معكوس‌سازي كنترل و تزريق وابستگي مرتبط است. مناسب ديدم برخي منابع مفيدي را كه در اين زمنيه وجود دارد، در اينجا ذكر كنم. Inversion of control, or IoC, is an abstract principle describing an aspect of some software architecture […]

مهندسی نرم‌افزار
طبقه‌بندي(Classification)

فصل چهارم از كتاب Object-Oriented Analysis and Design with Applications نوشته گريدي بوچ، به بررسي يكي از سخت‌ترين موضوعات تفكر بشري كه تأثير شگرفي بر مدلسازي و طراحي دارد، پرداخته است. ضمن دعوت براي مطالعه اين كتاب،‌ ترجمه و خلاصه اين فصل را كه آقاي مهندس آزادكيان زحمت آن را تقبل نموده‌اند، در زير آمده […]

مهندسی نرم‌افزار
Service-Orientation vs. Object-Orientation

Both object oriented and service-oriented design and develop techniques have their place in modern systems development. Object oriented systems fit well in a stateful environment while a service-oriented approach requires a stateless environment.

مهندسی نرم‌افزار
SOA Engineering Misconceptions

Misconception #1: “SOA Vendor Stacks are Service Architectures” Misconception #2: “SOA Vendor Stacks are the Best Foundation for SOA Engineering” Misconception #3: “An ESB Product Equals Service Infrastructure” Misconception #4: “SOA Performance is Available Off-the-Shelf” Misconception #5: “SOA Security Architecture is Available Off-The-Shelf” Misconception #6: “Programmers Will Define and Build Reusable Services” Misconception #7: “SOA […]