کتاب های برچسب software-engineering
تاریخ: ۲۳:۲۱:۸ ۱۳۹۹/۱۲/۱۲ سه شنبه
توسط: MotoMan
امتیاز: ۰

توسعه چابک، توانایی توسعه سریع نرم افزار در مواجهه با نیازمندی‌های به سرعت در حال تغییر است. برای دستیابی به این چابکی، ما باید شیوه هایی را به خدمت بگیریم که نظم و بازخورد لازم را فراهم کنند. ما نیاز به استفاده از اصول طراحی داریم تا نرم افزارمان را انعطاف پذیر و قابل نگهداری نگه دارند؛ و نیاز داریم تا الگو‌های طراحی که به منظور متوازن نگه داشتن این اصول برای مسائل خاص پدید آمده اند را بدانیم. این کتاب، تلاشی برای گره زدن هر سه این مفاهیم به یکدیگر به منظور تشکیل یک اتحاد کارآمد است. این کتاب، اصول، الگوها و شیوه‌ها را توصیف می‌کند و سپس نحوه‌ی بکارگیری آن‌ها را توسط شرح دقیق ده‌ها مورد مطالعاتی مختلف نشان می‌دهد. از همه مهمتر، موارد مطالعاتی به عنوان کار‌های کاملی ارائه نشده اند؛ بلکه الگو هایی در حال پیشرفت هستند. خواهید دید که طراحان اشتباه می‌کنند و مشاهده خواهید کرد که چگونه اشتباهات را شناسایی کرده و در نهایت تصحیح می‌کنند. خواهید دید که آن‌ها بر سر معما‌ها گیج می‌شوند و نسبت به ابهامات و سبک سنگین کردن‌ها نگران هستند. در حقیقت شما عمل طراحی را مشاهده خواهید کرد.
این کتاب که توسط یک توسعه دهنده نرم افزار برای توسعه دهندگان نرم افزار نوشته شده است، مجموعه ای منحصر به فرد از جدیدترین متدهای توسعه نرم افزار است. کتاب Agile Software Development, Principles, Patterns, and Practices ( توسعه نرم افزار چابک، اصول، الگو‌ها و شیوه ها) که توسط Robert C. Martin تالیف شده است، شامل روش‌های OOD، UML، الگو‌های طراحی، چابک و XP، همراه با شرح مفصلی از طراحی کامل نرم افزار  برای برنامه‌های قابل استفاده مجدد در سی پلاس پلاس و جاوا است. با استفاده از یک رویکرد عملی و حل مسئله، چگونگی توسعه یک برنامه شی گرا از مراحل اولیه تجزیه و تحلیل و از طریق طراحی سطح پایین تا پیاده سازی آن، نشان داده می‌شود. این کتاب، افکار طراح را به خوانندگان نشان می‌دهد – نشان دادن خطاها، کوچه‌های بن بست و بینش‌های خلاقانه ای که در طول مراحل طراحی نرم افزار رخ می‌دهند. این کتاب شامل موارد زیر است: استاتیک‌ها و پویا ها؛ اصول طراحی کلاس؛ مدیریت پیچیدگی؛ اصول طراحی پکیج؛ تحلیل و طراحی الگوها؛ گذرگاههای پارادایمی. این کتاب اصول OOD را یک به یک توضیح می‌دهد و سپس آنها را با مثال‌های متعدد، الگو‌های کاملاً کار شده و موارد مطالعاتی به نمایش می‌گذارد. همچنین در استفاده از ++C و OOD تله ها، دام‌ها و راهکار‌ها را پوشش می‌دهد و سپس نشان می‌دهد که چگونه می‌توان از روش‌های Agile استفاده کرد. در ادامه در مورد روش‌های طراحی و توسعه نرم افزار بزرگ به طور مفصل بحث می‌کند. یک مورد مطالعاتی از ساخت سیستم امنیتی نیز به صورت مفصل و در سه فصل در این کتاب ارائه شده است. برای مهندسین نرم افزار، برنامه نویسان و تحلیلگرانی که می‌خواهند نحوه طراحی نرم افزار شی گرا را با روش‌های پیشرفته درک کنند، این کتاب مناسب است.

 

تعداد بازدید: ۱۳۱
دیدگاه ها: ۰
تاریخ: ۲۲:۴۴:۴۵ ۱۳۹۹/۱۰/۹ سه شنبه
توسط: MotoMan
امتیاز: ۲

معماری نرم افزار، شیوه‌ی پیاده سازی ساختارها و سیستم هایی است که روند توسعه نرم افزار را ساده می‌کند و کیفیت برنامه را بهبود می‌بخشد. ویرایش دوم کاملا بازنگری شده و بسط یافته کتاب Software Architecture with C# 9 and .NET 5، جدید‌ترین قابلیت‌های سی شارپ 9 و دات نت 5 را ارائه داده است و شما را قادر می‌سازد تا مهارت‌های کلیدی، دانش و بهترین شیوه‌های لازم برای تبدیل شدن به یک معمار نرم افزار کارآمد را به دست آورید.
کتاب Software Architecture with C# 9 and .NET 5, 2nd Edition (معماری نرم افزار با سی شارپ 9 و دات نت 5، ویرایش دوم)، توضیحات بیشتری در مورد اصول معماری نرم افزار از جمله فصل‌های جدیدی در مورد Azure Service Fabric، Kubernetes و Blazor ارائه می‌دهد. این کتاب همچنین شامل بحث‌های بیشتری در مورد امنیت، میکرو سرویس‌ها و DevOps از جمله استقرار‌های GitHub برای چرخه توسعه نرم افزار است.
شما با درک چگونگی تبدیل نیازمندی‌های کاربری به نیازهای معماری و بررسی تفاوت‌های بین نیازمندی‌های عملیاتی و غیر عملیاتی شروع خواهید کرد. در ادامه، شما نحوه انتخاب دقیق یک راهکار ابری برای زیرساخت خود و همچنین عواملی را که به شما کمک می‌کنند تا برنامه خود را در یک محیط مبتنی بر ابر مدیریت کنید، بررسی خواهید کرد. سرانجام، شما الگوهای طراحی نرم افزار و رویکردهای مختلف نرم افزاری را بررسی خواهید کرد که به شما امکان می‌دهند تا مشکلات رایجی که در طول توسعه با آن‌ها روبرو می‌شوید را حل کنید.
در پایان این کتاب، شما قادر به ساخت و تحویل برنامه‌های بسیار مقیاس پذیر enterprise-ready هستید که نیازمندی‌های تجاری سازمان شما را برآورده می‌کنند. این کتاب برای مهندسان و توسعه دهندگان ارشد نرم افزار است که مشتاق هستند تا معمار شوند و یا به دنبال ساخت برنامه‌های سازمانی با NET Stack. هستند. آشنایی اولیه با زبان سی شارپ و چارچوب دات نت برای استفاده هر چه بیشتر از این کتاب لازم است.

 

تعداد بازدید: ۲۱۷۰
دیدگاه ها: ۳
تاریخ: ۱۱:۱:۵۹ ۱۳۹۹/۹/۱۴ جمعه
توسط: MotoMan
امتیاز: ۲
برچسب ها: software engineering |

وقتی نرم افزار کامپیوتری موفق می‌شود—وقتی نیازهای افرادی که از آن استفاده می‌کنند را برآورده می‌کند، وقتی در مدت زمانی طولانی عملکردی بی عیب و نقصی دارد، هنگامی که اصلاح آن آسان است و حتی استفاده از آن راحت‌تر است—می تواند و باعث تغییر اوضاع به سمت بهتر می‌شود. اما وقتی نرم افزار از کار بیفتد—وقتی کاربران آن ناراضی هستند، وقتی مستعد خطا است، زمانی که تغییر آن دشوار است و استفاده از آن حتی دشوارتر است—اتفاقات بدی می‌تواند رخ دهد و اتفاق می‌افتد. همه ما می‌خواهیم با اجتناب کردن از موارد بدی که در سایه تلاش‌های ناموفق در کمین هستند، نرم افزاری بسازیم که اوضاع را بهتر کند. برای موفقیت، هنگام طراحی و ساخت نرم افزار به نظم و انضباط نیاز داریم. ما به یک رویکرد مهندسی نیاز داریم.

از زمان تألیف ویرایش اول این کتاب نزدیک به چهار دهه می‌گذرد. در طی این زمان، مهندسی نرم افزار از یک ایده مبهم که توسط تعداد نسبتاً کمی از طرفداران انجام می‌شد، به یک رشته مهندسی مشروع تبدیل شده است. امروزه مهندسی نرم افزار به عنوان موضوعی شناخته شده است که شایسته تحقیقات جدی، مطالعه با جدیت و مباحثه‌های پر هیاهو است. در سرتاسر صنعت، مهندس نرم افزار جایگزین ترجیح داده شده برای عناوین شغلی برنامه نویس یا کد نویس شده است. مدل‌های فرآیند نرم افزار، روش‌های مهندسی نرم افزار و ابزارهای نرم افزاری در طیف وسیعی از بخش‌های صنعت با موفقیت پذیرفته شده اند.

اگرچه مدیران و شاغلان هر دو به طور یکسان لزوم رویکرد منضبطانه‌تری را نسبت به نرم افزار تشخیص داده اند، اما آنها همچنان در مورد نحوه بکارگیری این رشته بحث و گفتگو می‌کنند. بسیاری از افراد و شرکت‌ها حتی وقتی سیستم هایی را برای سرویس دادن به پیشرفته‌ترین فن آوری‌های امروزی تولید می‌کنند، هنوز هم با بی نظمی نرم افزار را توسعه می‌دهند. بسیاری از متخصصان و دانشجویان از روش‌های نوین بی اطلاع هستند، و در نتیجه کیفیت نرم افزاری که تولید می‌کنیم آسیب می‌بیند و اتفاقات بدی می‌افتد. علاوه بر این، بحث و جدال درباره ماهیت واقعی رویکرد مهندسی نرم افزار همچنان ادامه دارد. وضعیت مهندسی نرم افزار یک مطالعه در تضاد‌ها است. نگرش‌ها تغییر کرده، پیشرفت هایی حاصل شده است، اما کارهای زیادی باید انجام شود تا این رشته به بلوغ کامل برسد.

کتاب Software Engineering: A Practitioner's Approach 9th Edition (ویرایش نهم مهندسی نرم افزار: رویکردی متخصصانه)، به عنوان یک راهنما برای رشته مهندسی نرم افزار در حال بلوغ در نظر گرفته شده است. ویرایش نهم، مانند هشت ویرایش قبل از آن، هم برای دانشجویان و هم برای شاغلان در نظر گرفته شده است و جذابیت خود را به عنوان یک راهنما برای متخصصان صنعت و مقدمه ای جامع برای دانشجویان در سطح کارشناسی ارشد یا سال اول تحصیلات تکمیلی حفظ کرده است. نسخه نهم بسیار بیشتر از یک بروز رسانی ساده است. این کتاب برای بهبود جریان آموزشی و تأکید بر فرآیندها و روش‌های جدید و مهم مهندسی نرم افزار، بازنگری و بازسازی شده است. علاوه بر این، ما «سیستم پشتیبانی» محبوب این کتاب را تقویت کرده ایم و مجموعه ای جامع از منابع دانشجویی، مربیان و متخصصان را برای تکمیل محتوای کتاب فراهم کرده ایم.

تعداد بازدید: ۹۰۵
دیدگاه ها: ۰
تاریخ: ۲۱:۵۹:۲۳ ۱۳۹۹/۹/۹ یکشنبه
توسط: MotoMan
امتیاز: ۲

زبان #C به طور سنتی برای توسعه برنامه‌ها و بازی‌های تحت ویندوز شناخته می‌شود، اما اکنون سی شارپ در حوزه‌های بسیار متنوعی همچون برنامه‌های تحت وب و ابری نیز مورد استفاده قرار می‌گیرید و به طور فزاینده ای برای توسعه برنامه‌های موبایل هم محبوب شده است. علیرغم قابلیت‌های گسترده کد نویسی سی شارپ، حرفه ای‌ها به دلیل کد بد، مشکلات مربوط به کارایی، مقیاس پذیری و قابلیت نگهداری را تجربه می‌کنند. کتاب #Clean Code in C به شما کمک می‌کند تا این مشکلات را شناسایی و با استفاده از بهترین شیوه‌های کد نویسی آنها را برطرف نمایید.

با کمک کتاب Clean Code In C# (کد تمیز در سی شارپ)، با کاوش در موضوعات اساسی مانند مرور کد، پیاده سازی TDD و BDD، طراحی API‌ها برای غلبه بر ناکارآمدی کد، افزونگی و سایر مشکلات ناشی از کد بد، مهارت‌های برنامه نویسی خود را توسعه دهید. این کتاب با مقایسه کد خوب و بد شروع می‌شود و به شما کمک می‌کند تا اهمیت استانداردهای کد نویسی، اصول و متدولوژی‌ها را درک کنید. سپس ضمن کسب اطمینان از رعایت استانداردهای کد نویسی شناخته شده در صنعت، با مرور‌های کد و نقش آنها در بهبود کد خودتان آشنا خواهید شد. این کتاب #C، آزمون واحد را پوشش می‌دهد، به توسعه آزمون محور می‌پردازد و نگرانی‌های cross-cutting را برطرف می‌کند. شما شیوه‌های خوب برنامه نویسی را برای اشیا، ساختمان‌های داده، مدیریت استثناها و سایر جنبه‌های نوشتن برنامه‌های کامپیوتری سی شارپ بررسی خواهید کرد. هنگامی که شما طراحی API را مطالعه کردید و ابزارهایی را برای بهبود کیفیت کد پیدا کردید، به نمونه هایی از کد بد نگاه می‌کنید و می‌فهمید که از کدام شیوه‌های کدنویسی باید دوری کنید.
در پایان این کتاب، مهارت‌های لازم برای استفاده از شیوه‌های کد نویسی مورد تایید صنعت به منظور نوشتن کد‌های #C تمیز، خوانا، توسعه پذیر و قابل نگهداری را در اختیار خواهید داشت. این کتاب کد نویسی، برای توسعه دهندگان #C، سرپرستان تیم، مهندسان ارشد و معماران نرم افزار است که می‌خواهند کارایی سیستم‌های قدیمی خود را بهبود بخشند. برای استفاده از این کتاب، درک کاملی از برنامه نویسی سی شارپ لازم است.

 

تعداد بازدید: ۱۵۷۷
دیدگاه ها: ۲
تاریخ: ۱۴:۲۷:۵۵ ۱۳۹۹/۷/۲۵ جمعه
توسط: MotoMan
امتیاز: ۰
برچسب ها: Coding | software engineering |

مستندات نرم افزار می‌توانند جان بگیرند، پویا بمانند و در حقیقت به شما در ساختن نرم افزار بهتر کمک کنند. کتاب Living Documentation، برای توسعه دهندگان، معماران و سایر متخصصین نرم افزار نوشته شده است تا نحوه‌ی ایجاد مستنداتی را نشان دهد که در کل چرخه توسعه و طراحی شما تکامل می‌یابند. این کتاب از روشی که از طراحی دامنه محور (Domain Driven Design) الهام گرفته شده است برای ساختن مستنداتی استفاده می‌کند که تکامل پیدا می‌کنند تا در طول چرخه توسعه ارزش را به حداکثر برسانند.

نویسنده این کتاب، Cyrille Martraire از طریق الگوها، تصاویر واضح و مثال‌های واقعی، نحوه استفاده از ساخته‌های خوش ساخت و اتوماسیون را برای بهبود چشمگیر ارزش مستندات با حداقل هزینه اضافی نشان می‌دهد. حوزه، زبان یا فناوری‌های شما هرچه باشد، مجبور نیستید از بین نرم افزار کار کننده و مستندات جامع و با کیفیت بالا یکی را انتخاب کنید؛ هر دو را می‌توانید داشته باشید.

تعداد بازدید: ۶۶۲
دیدگاه ها: ۰
تاریخ: ۲۲:۱۱:۵۴ ۱۳۹۹/۷/۷ دوشنبه
توسط: MotoMan
امتیاز: ۰
برچسب ها: software engineering |

تاریخچه سیستم‌های نرم افزاری در مقیاس بزرگ، داستانی از هزینه‌های اضافی، راهپیمایی‌های مرگ و نبرد‌های قهرمانانه با کد‌های به ارث رسیده است که برای خودشان تبدیل به هیولاهایی شده اند. یک دلیل عمده، بدهی فنی است که نشان دهنده کدی است که هزینه نگهداری آن از آنچه که باید باشد، بیشتر شده است. بازپرداخت بدهی فنی به دلیل مقیاس پروژه‌های نرم افزاری مدرن سخت است؛ با صدها توسعه دهنده و تعداد زیادی از فن آوری ها، هیچ کس یک دید کلی ندارد؛ و ما در کتاب «طراحی نرم افزار X-Rays: برطرف کردن بدهی فنی با تجزیه و تحلیل کد رفتاری» در شرف تغییر آن هستیم. در این کتاب، شما مجموعه ای از تکنیک‌ها را فرا می‌گیرید که به شما امکان می‌دهند تا مروری کلی از کدهای خودتان را در اختیار داشته باشید، همراه با روش هایی برای اولویت بندی بهبودها بر اساس بازده مورد انتظار سرمایه گذاری. این بدان معناست که شما راحت می‌توانید هر کد مقیاس بزرگی را انتخاب کنید، آن را تجزیه و تحلیل کنید و بر اساس نحوه کار توسعه دهندگان با کد تا آن زمان، انجام refactor‌های خاصی را پیشنهاد دهید.

کد خوب به همان اندازه که مربوط به طراحی اجتماعی است، به نگرانی‌های فنی نیز مربوط می‌شود. با یادگیری آشکار سازی ناکارآمدی‌های سازمانی، رفع گلوگاه‌های هماهنگی بین تیم‌ها و ارزیابی عواقب از دست دادن دانش در سازمان شما، ما آن را نشان می‌دهیم.
برای اینکه از کتاب Software Design X-Rays حداکثر استفاده را ببرد، باید یک برنامه نویس با تجربه، سرپرست فنی یا معمار نرم افزار باشید. مهمترین چیز این است که شما روی پروژه‌های نرم افزاری نسبتاً بزرگی کار کرده باشید و درد و مشکلات مختلفی را که سعی در حل آن‌ها در این کتاب داریم را تجربه کرده باشید.

 

تعداد بازدید: ۵۹۱
دیدگاه ها: ۰
تاریخ: ۲۲:۱۶:۳۷ ۱۳۹۹/۷/۲ چهارشنبه
توسط: MotoMan
امتیاز: ۰
برچسب ها: Coding | software engineering |

تعداد کمی کتاب در رشته کامپیوتر به اندازه کتاب Peopleware در مدیریت نرم افزار تأثیری عمیق داشته اند. دید منحصر به فرد این کتاب پرفروش قدیمی این است که عمده مسائل مربوط به توسعه نرم افزار، انسانی است و نه فنی. آنها مسائل ساده ای نیستند؛ اما آنها را حل کنید و شانس موفقیت خود را به حداکثر برساند.

در ویرایش سوم کتاب «Peopleware: پروژه‌ها و تیم‌های سازنده»، نویسندگان کتاب شش فصل جدید اضافه کرده و متن کتاب را به روز کرده اند و آن را با محیط‌ها و چالش‌های توسعه امروزی مطابقت داده اند. به عنوان مثال، این کتاب اکنون به آسیب شناسی‌های رهبری می‌پردازد که قبلاً آسیب شناسی نشده بودند؛ فرهنگ در حال تحقق جلسات؛ تیم‌های ترکیبی متشکل از افرادی از نسل‌های به ظاهر ناسازگار؛ و آگاهی رو به رشدی که برخی از رایج‌ترین ابزارهای ما بیشتر شبیه لنگر هستند تا پروانه. هر کسی که نیاز به مدیریت یک پروژه یا شرکت نرم افزاری دارد، توصیه‌های ارزشمندی را در سراسر کتاب پیدا خواهد کرد.

تعداد بازدید: ۶۸۰
دیدگاه ها: ۰
تاریخ: ۲۲:۴۱:۹ ۱۳۹۹/۷/۱ سه شنبه
توسط: MotoMan
امتیاز: ۱

تا حالا شده که زمان زیادی را برای کد نویسی یک الگوریتم اشتباه هدر داده باشید؟ از ساختمان داده ای استفاده کنید که بسیار پیچیده باشد؟ برنامه ای را تست کرده باشید اما یک مشکل واضح را از قلم انداخته باشید؟ یک روز را صرف جستجوی باگی کرده باشید که باید در عرض پنج دقیقه آن را پیدا می‌کردید؟ لازم است که برنامه سه برابر سریعتر اجرا شود و از حافظه‌ی کمتری استفاده کند؟ تلاش کرده اید که برنامه ای را از یک workstation به یک PC منتقل کنید یا بالعکس؟ سعی کرده اید تغییر ناچیزی در برنامه شخص دیگری ایجاد کنید؟ دوباره برنامه ای را باز نویسی کرده اید زیرا نمی‌توانستید آن را درک کنید؟

جالب بود؟ این موارد به طور مداوم برای برنامه نویسان اتفاق می‌افتد. اما مقابله با چنین مشکلاتی اغلب دشوارتر از آن چیزی است که باید باشد، زیرا مباحثی مانند تست کردن، اشکال زدایی، قابلیت حمل، کارایی، گزینه‌های طراحی، سبک و تمرین برنامه نویسی معمولاً مورد توجه دوره‌های علوم کامپیوتر یا برنامه نویسی قرار نمی‌گیرند. اکثر برنامه نویسان با افزایش تجربه، آنها را به طور اتفاقی یاد می‌گیرند و عده کمی هم هرگز آنها را یاد نخواهند گرفت.

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

رویکرد ما در این کتاب مبتنی بر این اصول اساسی و بهم پیوسته است که در همه سطوح محاسبات اعمال می‌شوند. این اصول شامل سادگی است که برنامه‌ها را کوتاه و قابل مدیریت نگه می‌دارد؛ وضوح، که اطمینان حاصل می‌کند که آنها توسط افراد و همچنین ماشین‌ها به راحتی درک می‌شوند؛ عمومیت، به این معنی که آنها در طیف گسترده ای از موقعیت‌ها به خوبی کار می‌کنند و در صورت بروز شرایط جدید، وفق پیدا می‌کنند؛ و اتوماسیون، که به ماشین‌ها اجازه می‌دهند که برای ما کار کنند و ما را از انجام کارهای پیش پا افتاده خلاص کنند.

تعداد بازدید: ۷۷۲
دیدگاه ها: ۰
تاریخ: ۲۳:۱۱:۳۹ ۱۳۹۹/۶/۱۱ سه شنبه
توسط: MotoMan
امتیاز: ۰
برچسب ها: software engineering |

استارت آپ‌های نرم افزاری هر روز در صدر اخبار جهان هستند. با موفقیت و رشد شرکت‌های فناوری، بخش‌های مهندسی آنها نیز پیشرفت می‌کنند. در حرفه خود، ممکن است به طور ناگهانی فرصت هدایت تیم‌ها را پیدا کنید و مدیر شوید. اما این غالباً قلمرو ای نامعلوم است. چگونه می‌توانید تصمیم بگیرید که آیا این تغییر شغلی برای شما مناسب است؟ و اگر این کار را انجام دهید، برای موفقیت باید چه چیزهایی را یاد بگیرید؟ از کجا شروع می‌کنید؟ از کجا می‌دانید که این کار را درست انجام می‌دهید؟ حتی «این» چه معنی می‌تواند داشته باشد؟ و آیا مدیریت یک حرف زشت نیست؟ این کتاب رازهایی را که شما برای مدیریت موفقیت آمیز مهندسان احتیاج دارید را با شما در میان می‌گذارد.

نیازی نیست تا تغییر از مهندسی به مدیریت، اضطراب آور باشد. مهندسان می‌توانند مدیر باشند و در عین حال در آن فوق العاده باشند. لفاظی‌ها را کنار گذاشته و به تکنیک‌ها و ابزارهای عملی و کاربردی بپردازید. شما به یک رهبر تیم حامی و کارآمد تبدیل خواهید شد که کارکنان شما به دنبال آن هستند.

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

تعداد بازدید: ۶۹۴
دیدگاه ها: ۰
تاریخ: ۲۱:۵۶:۱۹ ۱۳۹۹/۶/۵ چهارشنبه
توسط: MotoMan
امتیاز: ۰
برچسب ها: software engineering |

تنها یک شکست نرم افزاری چشمگیر، می‌تواند میلیون‌ها دلار برای یک شرکت هزینه در بر داشته باشد، اما با تغییراتی ساده در طراحی و معماری می‌توان از آن جلوگیری کرد. ویرایش جدید این کتاب، نحوه‌ی ایجاد سیستم هایی که طولانی‌تر و با خرابی‌های کمتر کار کنند و در هنگام رخ دادن اتفاق‌های بد، بهتر ترمیم شوند را به شما نشان می‌دهد. مطالب جدید پوشش داده در این ویرایش شامل DevOps، میکرو سرویس‌ها و معماری cloud-native است. ضد الگو‌های پایداری رشد کرده اند تا مشکلات ساختاری در سیستم‌های مقیاس بزرگ را در بر گیرند. این کتاب یک راهنمای عملی ضروری برای مهندسی سیستم‌های عملیاتی است.

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

تعداد بازدید: ۹۲۳
دیدگاه ها: ۰
تاریخ: ۲۰:۲۱:۵۳ ۱۳۹۹/۵/۱۶ پنج شنبه
توسط: MotoMan
امتیاز: ۲

برنامه نویسی سرگرم کننده است، اما تهیه نرم افزار با کیفیت سخت است. در بین ایده‌های خوب، نیازمندی‌ها یا «خیال» و یک محصول نرم افزاری کار کننده، چیزی بیشتر از برنامه نویسی وجود دارد. تجزیه و تحلیل و طراحی، تعریف چگونگی حل مسئله، برنامه نویسی، بکارگیری این طرح به شیوه هایی که ارتباط، مرور، پیاده سازی و تکامل آن آسان باشد، در قلب این کتاب نهفته است؛ و این همان چیزی است که شما در این کتاب یاد خواهید گرفت.

زبان مدل سازی یکپارچه (UML)، به یک زبان پذیرفته شده جهانی برای الگو‌های های طراحی نرم افزار تبدیل شده است. UML زبان بصری مورد استفاده در این کتاب برای انتقال ایده‌های طراحی است، که بر روی اینکه چگونه توسعه دهندگان، عناصر UML که اغلب مورد استفاده قرار می‌گیرند را بجای ویژگی‌های مبهم این زبان بکار می‌گیرند، تاکید دارد.

ویرایش سوم کتاب Applying UML and Patterns، کتاب مقدماتی شماره یک دانشگاهی و تجاری برای «تفکر در اشیا» و استفاده از آن در تحلیل و طراحی شی گرا دنیای واقعی است. Craig Larman با تکیه بر دو نسخه قبلی بسیار تحسین شده، این کتاب را به روز کرده است تا کاملاً استاندارد جدید UML 2 را منعکس کند  و به شما در تسلط بر هنر طراحی شی و شیوه‌های مدل سازی چابک ماهرانه، تکرار شونده و با تاثیر بالا کمک کند.

توسعه دهندگان و دانشجویان، تجزیه و تحلیل و طراحی شی گرا (OOA/D) را از طریق سه تکرار از دو مورد مطالعاتی منسجم و از ابتدا تا پایان یاد می‌گیرند. این موارد مطالعاتی به تدریج مهارت‌های کلیدی، اصول و الگوهای مهم OO، نماد UML و بهترین شیوه‌ها را معرفی می‌کنند. شما فقط نمودارهای UML را یاد نخواهید گرفت؛ بلکه یاد می‌گیرید که چگونه UML را در زمینه توسعه نرم افزار شی گرا بکار بگیرید. با استفاده از تجربه بی نظیر خود به عنوان مربی و مشاور، Larman به شما در درک نیازمندی‌های تکاملی و موارد استفاده، مدل سازی اشیا دامنه، طراحی مسئولیت محور، طراحی OO اساسی، معماری‌های لایه ای، الگو‌های طراحی Gang of Four، GRASP، شیوه‌های تکرار شونده، رویکردی چابک برای (Unified Process (UP و موارد دیگر کمک خواهد کرد.

 

تعداد بازدید: ۱۱۹۲
دیدگاه ها: ۰
تاریخ: ۲۲:۴۵:۱۹ ۱۳۹۹/۴/۱۴ شنبه
توسط: MotoMan
امتیاز: ۳
برچسب ها: software engineering |

امروزه مهندسان نرم افزار نه تنها باید بدانند که چگونه به طور مؤثری برنامه نویسی کنند بلکه همچنین چگونه می‌توانند شیوه‌های مهندسی مناسبی را توسعه دهند تا کد‌های خود را پایدار و سالم کنند را نیز باید بدانند. کتاب مهندسی نرم افزار در گوگل، بر تفاوت بین برنامه نویسی و مهندسی نرم افزار تأکید دارد.

مهندسان نرم افزار چگونه می‌توانند پایگاه کد زنده ای را مدیریت کنند که در طول عمرش تکامل می‌یابد و به تغییرات نیازمندی‌ها و درخواست‌ها پاسخ می‌دهد؟ مهندسان نرم افزار Titus Winters و Hyrum Wright، به همراه نویسنده فنی Tom Manshreck، بر اساس تجربه خود در گوگل نگاه صریح و روشنگری در مورد چگونگی ساخت و نگهداری نرم افزارها توسط متخصصان برجسته دنیا ارائه می‌دهند. کتاب Software Engineering at Google، فرهنگ مهندسی، فرآیند‌ها و ابزار‌های منحصر به فرد گوگل و چگونگی مشارکت این جنبه‌ها بر اثربخشی یک سازمان مهندسی را بررسی می‌کند.

تعداد بازدید: ۱۰۸۴
دیدگاه ها: ۲
تاریخ: ۱۴:۱۲:۵۲ ۱۳۹۹/۴/۶ جمعه
توسط: MotoMan
امتیاز: ۱
برچسب ها: software engineering |

مشخصات با مثال، روشی نوظهور برای توسعه نرم افزار بر مبنای مثال‌های واقعی است که شکاف ارتباطی بین ذینفعان تجاری و تیم‌های توسعه دهنده که نرم افزار را می‌سازند، بر طرف می‌کند. از تجربه تیم‌های پیشرو در سراسر جهان، نویسنده Gojko Adzic، هفت الگوی کلیدی و بسیاری از قوانین عملی از روش‌های موثر را برای مشخص کردن، تست و تحویل نرم افزار به صورت دوره‌های تحویل کوتاه و تکرار شونده به صورت چکیده در آورده است.

مشخصات با مثال روشی مشارکتی برای مشخص کردن نیازمندی‌ها و تست‌ها است. هفت الگویی که در این کتاب به طور کامل مورد بررسی قرار گرفته اند برای موثر واقع شدن این روش مهم هستند. این روش چهار مزیت اصلی دارد: مستندات قابل اطمینان و زنده تولید می‌کند؛ انتظارات را به وضوح تعریف می‌کند و اعتبارسنجی را کارآمد می‌کند؛ دوباره کاری را کاهش می‌دهد؛ و مهمتر از همه، به تیم‌های تحویل و ذینفعان تجاری اطمینان می‌دهد که نرم افزاری که می‌سازند هدف مورد نظرش را برآورده می‌کند.

کتاب Specification by Example، چکیده ای مفید از تجربه تیم‌های برتر در سراسر جهان و راه‌های مؤثر در مشخص کردن، تست و تحویل نرم افزار در دوره‌های تحویل کوتاه و تکرار شونده است. موارد مطالعاتی در این کتاب از راه اندازی استارتاپ‌های کوچک وب تا مؤسسات مالی بزرگ را در بر دارد و در بسیاری از فرآیند‌ها از جمله XP ، Scrum و Kanban کار می‌کنند.

تعداد بازدید: ۸۰۶
دیدگاه ها: ۰
تاریخ: ۲۱:۳۲:۴۷ ۱۳۹۹/۳/۱۵ پنج شنبه
توسط: MotoMan
امتیاز: ۳

نوشتن نرم افزاری که نیازهای فوری کاربران خود را برآورده سازد آسان است، اما توسعه و نگهداری آن دشوار است. چنین نرم افزاری برای شرکتهایی که تلاش می‌کنند رقابتی باقی بمانند، بار سنگینی است. در دوره ویدیویی SOLID Principles for C# Developers موسسه Pluralsight که توسط Steve Smith تدریس شده است، شما پنج اصل اساسی از طراحی شی گرا را یاد خواهید گرفت که نرم افزار شما را loosely coupled، تست پذیر و قابل نگهداری نگه می‌دارد.

در این دوره ابتدا خواهید دید که چگونه کلاس‌ها را کوچک و متمرکز نگه دارید و چگونه می‌توانید رفتار آن‌ها را بدون نیاز به ویرایش کد منبع آنها توسعه دهید. سپس، اهمیت طراحی صحیح واسط‌ها و انتزاعات را در سیستم‌های خود خواهید فهمید. سرانجام، شما چگونگی مرتب کردن وابستگی‌ها در سیستم خود را بررسی خواهید کرد تا در صورت لزوم پیاده سازی‌های مختلف به آنها اضافه یا وصل شوند تا به یک طراحی واقعا ماژولار منجر شود. پس از اتمام این دوره، می‌فهمید که چگونه می‌توانید برنامه هایی قابل نگهداری، توسعه پذیر و قابل تست با استفاده از #C و NET. بسازید.

تعداد بازدید: ۱۵۲۸
دیدگاه ها: ۰
تاریخ: ۷:۱۵:۲۸ ۱۳۹۹/۲/۱۵ دوشنبه
توسط: MotoMan
امتیاز: ۱
برچسب ها: Design Patterns | software engineering |

بررسی‌های حقوق و دستمزد در سرتاسر جهان، معمولا معمار نرم افزار را در بین 10 شغل برتر قرار می‌دهند، اما هنوز هم هیچ راهنمای واقعی برای کمک به توسعه دهندگان برای تبدیل شدن به معمار نرم افزار وجود ندارد؛ البته تا به حال. این کتاب، برای اولین بار بررسی جامعی از جنبه‌های مختلف معماری نرم افزار را ارائه می‌دهد. در کتاب “Fundamentals of Software Architecture: An Engineering Approach”، مشخصه‌های معماری، الگو‌های معماری، تعیین کامپوننت، ارائه و به تصویر کشیدن معماری، معماری تکاملی و بسیاری موضوعات دیگر مورد بررسی قرار گرفته اند.

نویسندگان این کتاب به نام‌های Mark Richards و Neal Ford، متخصصانی هستند که سال‌ها کلاس‌های معماری نرم افزار را به صورت حرفه ای تدریس کرده اند و بر روی اصول معماری که در تمامی stack‌های فناوری کاربرد دارند تمرکز داشته اند. شما با در نظر گرفتن تمام نوآوری‌های دهه گذشته، معماری نرم افزار را به شکلی مدرن بررسی خواهید کرد.

تعداد بازدید: ۱۸۳۴
دیدگاه ها: ۳
تاریخ: ۱۵:۱۰:۱۰ ۱۳۹۹/۲/۵ جمعه
توسط: MotoMan
امتیاز: ۱

دوره ویدیویی Clean Architecture: Patterns, Practices, and Principles موسسه Pluralsight که توسط Matthew Renze تدریس شده است، به شما کمک می‌کند تا یاد بگیرید که چگونه متخصصان نرم افزار با استفاده از رویکردی مدرن برای معماری نرم افزار به نام معماری تمیز، معماری خودشان را تمیز نگه می‌دارند و همچنین چیز هایی از قبیل معماری دامنه محور، لایه‌های برنامه، CQRS (Command-Query Responsibility Separation)، event sourcing، functional cohesion و bounded context را پوشش می‌دهد.  علاوه بر این، شما از این روش‌ها برای جایگزینی معماری منسوخ شده سه لایه پایگاه داده محور که دهه‌ها مورد استفاده قرار گرفته است، استفاده خواهید کرد. مهم‌تر از همه، شما خواهید دید که چگونه این روش‌ها وقتی که ترکیب می‌شوند، یک معماری ساده، قابل فهم، انعطاف پذیر، قابل تست کردن و قابل نگهداری را درست می‌کنند.

پس از اتمام این دوره، شما مهارت‌های لازم برای درک و پیاده سازی روش‌های معماری تمیز را در پروژه‌های نرم افزاری خود در اختیار خواهید داشت. به عنوان یک دوره مقدماتی، هیچ پیش نیازی برای این دوره لازم نیست؛ اما، داشتن تجربه اولیه با حداقل یک زبان برنامه نویسی شبه C و دانش پایه در مورد معماری نرم افزار مفید خواهد بود.

تعداد بازدید: ۲۰۶۸
دیدگاه ها: ۰
loading...

لطفا منتظر بمانید...