مهندسی نرم‌افزار
Understanding Coupling and Cohesion

I invited some of my friends to discuss the nebulous concepts of coupling and cohesion in software design. How do we think about these topics? How do we understand the terms? How do we use that in our work as programmers? How do we teach it to others? How much does any of it even […]

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

CSE Code-With Customer/Partner Engineering Playbook An engineer working for a CSE project… Has responsibilities to their team – mentor, coach, and lead. Knows their playbook. Follows their playbook. Fixes their playbook if it is broken. If they find a better playbook, they copy it. If somebody could use your playbook, give them yours. Leads by […]

مهندسی نرم‌افزار
فصل 18- بیش از حد شیفتۀ فناوری نشوید

… می‌خواهم شما را از این واقعیت آگاه کنم که پیروی از اعتقادات جزمی و متعصّبانه می‌تواند بسیار فتنه‌انگیز و مخرّب باشد. همین در مورد تولید نرم‌افزار هم صادق است. داشتن اعتقادات متعصّبانه درباره تولید نرم‌افزار و فناوری هم می‌تواند بسیار مخرّب باشد. با وجودی که ما کسی را به خاطر آن که iOS را […]

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

پیش‌گفتار: هر وقت گذرم به گراف و اصل لانه کبوتری می‌افتد یاد استاد عزیزم آقای دکتر بهروز قلی‌زاده در دانشگاه شریف می‌افتم. یادش به‌خیر همیشه جاده قزوین-زنجان-تبریز یک پای ثابت مثال‌های گراف و مسیریابی ایشان بود. با وجود علاقه‌ام به گراف، در تمام این سال‌ها گذرم به گراف و مساله‌های آن نخورده بود، تا این […]

مهندسی نرم‌افزار
The Essence: Small Set of Universal Software Engineering Endeavors

What is Essence? Essence provides us with a thinking framework that allows teams to understand where they are and acts as a foundation for their way-of-working. At the heart of the Essence approach is the Essence Kernel – a simple state-driven model of software engineering. The Essence Kernel captures the small set of things that […]

مهندسی نرم‌افزار
Ethical Debt

Ethical debt is the implied cost of not considering social/ethical implications or harms now, assuming you can fix them after you find out what they are. As Yonatan Zunger says “Software engineers continue to treat safety and ethics as specialities, rather than the foundations of all design.” Reference: Casey Fiesler, CU Denver Data Science Symposium […]

مهندسی نرم‌افزار
پری دریایی (mermaid)

در ادامه‌ی انتخاب ابزارهای مناسب برای جعبه ابزار، به یک ابزار جالب برخورد کردم: پری دریایی (mermaid) برای انجام کاری نیاز داشتم تعدادی نمودار ترسیم کنم. نیازمندی‌های مرتبط با آن به شرح زیر بود: * ساده باشد * ترسیم نمودار و به ویژه تغییر آن سریع باشد * با ابزارهای برنامه‌نویسی یکپارچه باشد (بتوان از […]