مهندسی نرم‌افزار
تفاوت Programmer و Developer

What Computer Programmers Do Computer programmers write programs in a variety of computer languages, such as C++ and Java. Computer programmers write and test code that allows computer applications and software programs to function properly. They turn the program designs created by software developers and engineers into instructions that a computer can follow. In addition, […]

مهندسی نرم‌افزار
Concrete things you can do about your technical debt

“Technical debt, yes we have some of this, but what can we do…?” Here’s a few ideas to get you started: 1) Organize a lunch-and-learn with your team to introduce the concept of technical debt. Illustrate it with examples from your own projects, if possible. 2) Create a category “TechDebt” in your issue tracking system, […]

مهندسی نرم‌افزار
Strategies for Dealing With Technical Debt

Here are some of the strategies that DAD promotes when it pertains to technical debt: Do a bit of up front thinking. One of the process goals of DAD is Identify an Initial Technical Strategy. By thinking through critical technical issues before you implement your solution you have the opportunity to avoid a technical strategy […]

مهندسی نرم‌افزار
برآورد نرم‌افزار

پیش‌گفتار سایت «مطلب‌چه‌های مهندسی نرم‌افزار» در نوشته‌ی جدید خود، ترجمه‌ی مصاحبه‌ای را با استیو مک‌کانل (www.stevemcconnell.com) منتشر کرده است. موضوع این مصاحبه «برآورد نرم‌افزار» (Software Estimation) است. استیو مک‌کانل با کتاب‌های Code Complete برای بسیاری از کارشناسان و صاحب‌نظران در ایران، نامی آشناست. کتاب Software Estimation ایشان هم یکی از مراجعی است که بارها برای […]

مهندسی نرم‌افزار
Beautiful Design and Code Workshop – Part II

پیش‌گفتار: برای مطالعه‌ی بخش اول به اینجا مراجعه فرمایید. شرایط شرکت‌کنندگان: شرکت‌کنندگان این کارگاه باید حائز شرایط زیر باشند. ○ تخصیص هفته‌ای دست‌کم 15 ساعت وقت برای برنامه‌نویسی ○ تسلط بر HTML، CSS ○ آشنا با Java Script ○ آشنا با Object Oriented در CSharp ○ آشنا با ASP .NET MVC ○ آشنا با Entity […]

مهندسی نرم‌افزار
داستانک گورخر و Classification!

یکی از موضوعات مهم در دنیای نرم‌افزار، «انتزاع» (abstraction) است. یکی از معضلات انتزاع نیز موضوع «طبقه‌بندی» (classification) است. هنگام آموزش این مبحث در دوره‌ها، یادی هم از «عمو شل» عزیز و داستان «گورخر» می‌کنم. دیروز هم یکی از این روزها بود. این یادداشت را اینجا نوشتم تا برای فرستادن این داستانک زیبا برای عزیزانم، […]

مهندسی نرم‌افزار
Beautiful Design and Code Workshop – Part I

پیش‌گفتار: مدت‌ها بود که دوست داشتم دوره‌ای درباره‌ی طراحی و برنامه‌نویسی برگزار کنم. مسئولیت‌های شغلی و خانوادگی مجالی برای آن نمی‌گذاشت. رو به رو شدن با دوستان طراح و برنامه‌نویس و گفتگو با آنها عطش‌ مرا برای این کار دو چندان می‌کرد. دست‌کم دوست داشتم بخشی از تجربه‌ها و آموخته‌هایم را به عزیزانم منتقل کنم. […]