مهندس نرم افزار : نیاز سنجی (3)


این مطلب رو میشه به عنوان یک مقدمه ای بر نیاز سنجی نرم افزار یا Software Requirements  در نظر گرفت. 

در مطلبی تحت عنوان مهندسی نیاز ها(+) ، یک کتاب رو برای این کار معرفی کردم.  اکثر گرفتاری ها و مشکلات نرم افزاری از Requirementها  منشاء میگیره. 

توی این مقاله(+)  هم به طور کلی شرح دادم که چه مشکلاتی کجا و چطور ، توسط نادیده گرفتن نیازسنجی ها  بروز می کنند. 

مطالب این قسمت خیلی خیلی زیاده و مشکلات اون هم به دسته ها و گروه های مختلفی ربط و وابستگی داره. به همین خاطر هم توی نقشه راه وبلاگ برای این قسمت یک فصل جداگانه قرار داده ام.

 خب بریم سر اصل مطلب . 

مهندس نرم افزار در همون اول کار باید نیازسنجی بلد باشه. البته این نظر شخصی منه و خیلی از افراد موفق توی بازار کار نرم افزار ایران دارن کار میکنند و نیاز سنجی بلد نیستند. اما در جاهایی باید تاوان این ندانم کاری رو پس بدن. که خیلی خیلی سنگینه و بعضی اوقات کمر شکن.

خب برای شروع از این کتاب شروع می کنم. کتاب (+)software Requirements  ویرایش سوم ، انتشارات مایکروسافت. نوشته کارل ویگرز و جوی بیتی. 


  • سعید فعله گری
  • يكشنبه ۲ مهر ۹۶

مهندس نرم افزار : تکنیک گرمترش کن (قسمت دوم)


“make it warmer” یکی از تکنیک های طراحی و ساخت نرم افزار  است که در آن به بررسی زبان طراحی سیستم

می پردازد.

به بیانی ساده تر، یعنی باید زبان یک سیستم اداری ( یا هر سیستمی که می خواهید کارهای آن را نرم افزاری کنید ) ، بلد باشید. این تکنیک هم یکی از تکنیک های فاز نیازسنجی نرم افزار یا Software Requirement  است.  

دوست داشتم که به شیوه خودم آن را بیان کنم. اما کمی که فکر کردم دیدم در یکی از کتاب هایم این تیکنیک به صورت یک داستان آمده است.



کتاب user story applied  نوشته   Mike Cohn  یکی از بهترین کتاب های موجود در بازار برای ساخت نرم افزار است. در این کتاب تکنیک ها و روش هایی بسط و شرح داده شده است که در آن  به چگونگی فهم بهتر زبان یک کاربر نابرنامه ساز  پرداخته شده است. 

اگر بخواهم که کتاب را در یک جمله توصیف کنم ، این عبارت را که برگرفته از خود کتاب است ، استفاده می کنم.


Software requirements is a communication problem

بگذارید داستانی را که گفته بودم برایتان بنویسم.

  • سعید فعله گری
  • سه شنبه ۲۱ شهریور ۹۶

مهندس نرم افزار چی کاره اس ؟ قسمت اول


لزومی ندارد که برای چندمین بار بنویسم تمامی این مطالب شخصی هستند و از منظر یک نفر بیسواد( خودم رو میگم) بررسی و تحلیل می شود.


مهندس نرم افزار یعنی چی ؟ 

اصلاً مهندس نرم افزار چی کار باید بکنه و چه چیز هایی بلد باشه ؟ 

آیا همه کسانی که نرم افزار بلدند و برنامه نویسی می کنند ، مهندس نرم افزارند ؟ 

سوالات ادامه داره و خیلی خیلی زیاد هستند. اما دوست دارم طی چندین مطلب مرتبط به هم این ها رو بررسی کنم.

 خب بریم سر اصل مطلب.

  • سعید فعله گری
  • دوشنبه ۲۰ شهریور ۹۶

چیزهای که برنامه نویس ها باید بدانند


نکته : از این گونه عبارت های باید فلان چیز و بهمان چیز را یک عده خاص بدانند ، خوشم نمی آید. اما دلم هم نیامد که این کتاب را معرفی نکنم.


کتاب 97Things Every Programmer Should Know  ، نوشته  Kevlin Henney ، یکی از کتاب های مختصر و مفید برای درک هرچه بهتر فلسفه برنامه نویسی است.


همانطور که از عنوان Collective Wisdom from the Experts مشخص است ، کتاب جمع آوری گفته های متخصص های دنیای نرم افزار است. 



هر یک از 97 بخش کتاب ، قسمت های مختلفی را از برنامه نویسی و توسعه و ساخت نرم افزار را در برمی گیرد ، که از بزرگان آن حوزه تخصصی توصیه های مفیدی گردآوری شده است.

  • سعید فعله گری
  • يكشنبه ۱۲ شهریور ۹۶

لیست بزرگترین برنامه ها بر اساس معیار LOC


در عکس زیر می توانید لیستی از بزرگترین نرم افزار ها و سیستم های بزرگ دنیای نرم افزار را بر اساس معیار Line Of Code مشاهده کنید.

  • سعید فعله گری
  • چهارشنبه ۸ شهریور ۹۶