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

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

کتاب 97Things Every Software Architect Should Know، مشاوره‌های معماران نرم افزار از سرتاسر جهان از نحوه‌ی جلوگیری از مشکلات رایج تا جمع کردن تیمی با استعداد را ارائه کرده است. این کتاب شامل مشاوره هایی است از معماران نرم افزار شناخته شده برای دیگر معماران نرم افزار یا آن هایی که می‌خواهند معمار نرم افزار شوند.

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

معماری نرم افزار چیست؟ به چه دردی می‌خورد؟ چرا و چگونه به وجود آمده است؟ وجودش چه تاثیراتی داشته است؟ این‌ها سوالاتی هستند که در بخش اول کتاب Software Architecture in Practice پاسخ داده می‌شوند.

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

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

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

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

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

کتاب Just Enough Software Architecture، راهنمای عملی برای توسعه دهندگان نرم افزار است و متفاوت از سایر کتاب‌های معماری نرم افزار است، که دلایل آن را در ادامه خواهید دید.

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

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

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

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

این کتاب، مشاوره عملی ارائه می‌دهد. تصمیمات طراحی نرم افزار بر معماری تأثیر می‌گذارد و بالعکس. رویکرد این کتاب با توصیف مدل هایی که دارای سطوح مختلفی از انتزاع هستند ، از معماری گرفته تا طراحی ساختار داده ، رفتار drill-down/pop-up را در بر می‌گیرد.

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

زبان‌های برنامه نویسی شی گرا، به شما کمک کنند تا برنامه‌های زیبا و ساده ای بنویسید که به راحتی قابل تغییر هستند و به آسانی می‌توان آن‌ها را گسترش داد. متاسفانه دنیا پر شده از برنامه‌های شی گرایی که فهمیدنشان سخت است و تغییر در آن‌ها نیز به سختی انجام می‌شود. ویرایش دوم کتاب Practical Object-Oriented Design، تکنیک‌های طراحی شی گرا واقعی و قدرتمند را با مثال‌های کاربردی به شما آموزش می‌دهد.

این کتاب درباره‌ی طراحی نرم افزار شی گرا است و کتاب قطور دانشگاهی نیست، بلکه این کتاب، داستان یک برنامه نویس در مورد نحوه‌ی نوشتن کد است. کتاب Practical Object-Oriented Design، نحوه سازمان دهی نرم افزار را به شکلی به شما آموزش می‌دهد تا کارآمد شوید و کارآمد بمانید. این کتاب به شما نشان می‌دهد که چگونه برنامه هایی بنویسید که الان موفق شوند و خود را با آینده نیز تطبیق دهند. در کتاب طراحی شی گرا کاربردی، خواهید آموخت که چگونه بهره وری خود را افزایش دهید و هزینه هایتان در تمام طول عمر برنامه کاهش دهید.

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

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

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

کتاب Architecting for Scale، به مدیران IT، devops و system reliability نشان می‌دهد تا چگونه مانع از کند شدن، ناپایدار شدن و یا عدم دسترسی برنامه شوند زمانی که برنامه بزرگ و بزرگ‌تر می‌شود.

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

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

مهندسان نرم افزار در صنعت نیز ممکن است این کتاب را به عنوان یک مرجع برای به روزسانی دانششان در موضوعاتی چون استفاده مجدد نرم افزار، طراحی معماری، وابستگی و امنیت و مهندسی نرم افزار مفید یابند.

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

ویرایش هشتم کتاب Software Engineering: A Practitioner's Approach، در 39 فصل و در قالب پنج بخش با عنوان‌های فرآیندها، مدل سازی، مدیریت کیفیت، مدیریت پروژه‌های نرم افزاری و مباحث پیشرفته ارائه شده است. ویرایش هشتم کتاب مهندسی نرم افزار، کاملا مورد بازنگری قرار گرفته است تا بر روی فرآیند‌ها و تمرینات مهم و جدید مهندسی نرم افزار تاکید بیشتری داشته باشد.

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

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

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

کتاب‌های کمی درباره مدیریت پروژه‌های نرم افزاری وجود دارند که به موثری و بی نظیر بودن کتاب The Mythical Man-Month باشند و همچنین ترکیبی از حقایق مهندسی نرم افزار و اندیشه‌های تفکر آمیز باشند.

به روش‌های زیادی، مدیریت یک پروژه برنامه نویسی کامپیوتری بزرگ مانند مدیریت هر کار بزرگ دیگر است حتی بیشتر از آنچه که بسیاری از برنامه نویسان بر این باورند؛ اما به روش‌های زیاد دیگری نیز متفاوت است حتی بیشتر از آنچه که مدیران حرفه ای انتظار دارند.

فرد بروکز (Fred Brooks)، برای هر کسی که پروژه‌های نرم افزاری پیچیده را مدیریت می‌کند، بینش لازم را ارائه می‌دهد.

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

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

چه تیم کوچکی باشد که با مشتری خود ارتباط نزدیکی دارید و یا تیم بزرگی در یک شرکت چند ملیتی باشید، شما مطالب ویرایش دوم کتاب Extreme Programming Explained را پر از ایده برای به چالش کشیدن، الهام بخشیدن و تشویق کردن شما و هم تیمی هایتان برای بهبود توسعه نرم افزارشان خواهید یافت.

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

کتاب تزریق وابستگی: اصول، استفاده‌ها و الگو ها، اول از همه و بیشتر درباره‌ی تزریق وابستگی (DI) است. همچنین کتاب درباره‌ی دات نت نیز هست که آن چنان اهمیت ندارد. اگرچه از #C برای کدهای مثال‌ها استفاده شده است، اما بیشتر مباحث این کتاب را به راحتی می‌توان در زبان‌ها و پلتفرم‌های دیگر نیز به کار برد.

تزریق وابستگی (Dependency Injection)، به مجموعه ای از الگوها و اصول مرتبط به هم گویند. DI روشی برای فکر کردن درباره‌ی طراحی کد است تا تکنولوژی به خصوصی. هدف نهایی استفاده از تزریق وابستگی، ساخت برنامه‌ی قابل نگهداری با استفاده از الگوی شی گرایی است.

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

کتاب الگوهای میکرو سرویس (Microservice Patterns)، هدفش آموزش نحوه‌ی توسعه موفقیت آمیز برنامه‌ها با استفاده از معماری میکرو سرویس است. در این کتاب نه تنها بر روی مزایای معماری میکروسرویس بحث شده است بلکه اشکالات آن نیز بیان شده است. شما یاد خواهید گرفت که در چه مواقعی باید از معماری یکپارچه (monolithic) استفاده کنید  و در چه مواقعی میکرو سرویس‌ها را به کار بندید.

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

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

در کتاب الگو‌های طراحی و بهترین شیوه‌های Serverless، الگوهای قابل استفاده مجدد که قابلیت استفاده در هر نوع برنامه‌ی Serverless، مثل سیستم‌های وب،  پردازش داده، کلان داده یا اینترنت اشیا باشند معرفی شده اند. شما با مثال و توضیح درباره‌ی الگوهای مختلف در حوزه‌ی serverless، مثل RESTful APIs، GraphQl، Proxy، fan-out، messaging، معماری لامبدا و MapReduce یاد خواهید گرفت تا با استفاده از این الگو‌ها برنامه‌های خود را مقیاس پذیر، کارا، تحمل پذیر خطا کنید.

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

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

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

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

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

امروزه همه‌ی نرم افزار‌های هسته‌ی مایکروسافت، قابل اسکریپت نویسی با پاورشل هستند و در سال ۲۰۱۶ و پس از آن، برای کار تیمی با ویندوز و NET. می‌توانند از پاورشل و API‌های HTTP REST در پکیج‌های نرم افزاری ، محصولات مایکروسافت، فروشندگان شخص ثالث و جامعه‌ی متن باز استفاده کنند.

بیشتر تکنولوژی‌ها و روش‌ها برای Continuous Delivery معمولا بین سیستم عامل‌های مختلف یکسان هستند، اما بعضی چیز‌ها برای ویندوز و NET. احتیاج به توجه ویژه ای دارند.

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

کتاب DevOps on the Microsoft Stack، هر آنچه که شما احتیاج  به دانستن دارید تا به سازمان خود در پیاده سازی DevOps بر روی پلتفرم مایکروسافت کمک کنید را در اختیار شما قرار داده است. شما نحوه‌ی کار با Visual Studio، Visual Studio Team Services و Azure را یاد خواهید گرفت تا یک فرآیند کامل DevOps را در شرکت خود پیاده سازی کنید. شما درباره‌ی مدیریت پروژه‌های Agile، Continues Integration، Continues Delivery، مدیریت بدهی فنی، تست خودکار و مانیتورینگ یاد خواهید گرفت و می‌بینید که چگونه همه‌ی این حوزه‌ها با یکدیگر مرتبط می‌شوند.

دِو اُپس برای سازمانی هایی اهمیت دارد که می‌خواهند بهترین استفاده از منابع خود را ببرند و از اشتباهات پر هزینه اجتناب کنند. بر اساس نظر سنجی‌های DevOps آزمایشگاه‌های Puppet، تیم هایی که DevOps را می‌پذیرند کدهایشان را تا ۳۰ بار بیشتر از رقبایشان منتشر می‌کنند و کمتر از ۵۰ درصد deployment هایشان شکست می‌خورند.

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

مواردی که در این کتاب فرا خواهید گرفت:

  • این که DevOps چیست و چگونه می‌تواند به تیم‌های توسعه کمک کند
  • چگونه از ویژوال استادیو، ویژوال استادیو تیم سرویس و آژور برای راه اندازی فرآیند DevOps استفاده کرد
  • نحوه‌ی معرفی DevOps به سازمان خود و چگونگی چیره شدن بر مشکلات
تعداد بازدید: ۶۶۰
دیدگاه ها: ۰
loading...

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