نوشته های معشوقه نرم افزار

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

طراحیِ یک طراحی : معماری و طراحی نرم افزار


کتاب The Design of Design(+) ( طراحیِ یک طراحی ) ، نوشته Frederick Phillips "FredBrooks Jr (+) ، یکی از بهترین و جامع ترین کتاب های موجود در زمینه طراحی نرم افزار است . 



این کتاب یک کتاب مقدماتی نیست. بهتر بگویم ، یک کتاب پیشرفته طراحی نرم افزار است. یعنی شما باید پایه و اصول طراحی نرم افزار را بدانید. هدفم از معرفی این کتاب بدین دلیل است که بعد از اتمام هر فصل از نقشه راه یکی از فصل های این کتاب را با هم بحث می کنیم. 

طراحی نرم افزار یکی از بهترین  و زیربنایی ترین شغل های مربوط به صنعت نرم افزار است. فیلد طراحی نرم افزار در اکثر مواقع با طراحی فتوشاپ و طراحی وب اشتباه گرفته می شود. 

در زمینه طراحی نرم افزار بیشتر به این می پردازیم که یک نرم افزار

مهندس نرم افزار : نیاز سنجی (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 بخش کتاب ، قسمت های مختلفی را از برنامه نویسی و توسعه و ساخت نرم افزار را در برمی گیرد ، که از بزرگان آن حوزه تخصصی توصیه های مفیدی گردآوری شده است.

۱ ۲ ۳ . . . ۴ ۵ ۶ ۷ ۸
Designed By Saeed Felegari استفاده از مطالب همراه با معرفی منبع آزاد است سعید فعله‌گری