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

این کتاب یک کار پژوهشی نیست. من مروری بر تحقیقات پیشین انجام نداده ام. آنچه که می‌خواهید بخوانید یادآوری خاطره ها، مشاهدات و نظرات شخصی من در طی ۲۰ سال سر و کار داشتن با Agile است – نه بیشتر نه کمتر.

این کتاب برای برنامه نویسان و غیر برنامه نویسان یکسان است. فنی نیست. هیچ کدی وجود ندارد. هدف این است که بدون وارد شدن به عمق جزئیات فنی برنامه نویسی، تست کردن و مدیریت، یک مرور کلی از هدف اصلی توسعه نرم افزار Agile ارائه دهد. این کتاب، کتابی کوچک است. به این دلیل که Agile مبحث خیلی بزرگی نیست. Agile ایده‌ی کوچکی در مورد مشکل کوچک تیم‌های برنامه نویسی کوچک است که کارهای کوچک انجام می‌دهند. Agile در مورد مشکل بزرگ تیم‌های بزرگ برنامه نویسی که کارهای بزرگی انجام می‌دهند، ایده بزرگی نیست. تا حدی عجیب است که این راه حل کوچک برای یک مشکل کوچک نامی دارد. با این همه، تقریباً به محض اختراع نرم افزار، مشکل کوچک مورد بحث، در دهه 50 و 60 حل شد. در آن روزها، تیم‌های نرم افزاری کوچک یاد گرفتند که کارهای کوچک را به خوبی انجام دهند. با این حال، همه اینها در دهه 1970 از بین رفتند، وقتی که تیم‌های نرم افزاری کوچک که کارهای کوچک انجام می‌دادند، همه درگیر یک ایدئولوژی شدند و تصور کردند که باید با تیم‌های بزرگ کارهای بزرگی انجام داد.

آیا قرار نیست با تیم‌های بزرگ کارهای بزرگی انجام دهیم؟ خدایا نه! کارهای بزرگ توسط تیم‌های بزرگ انجام نمی‌شوند؛ کارهای بزرگ با همکاری تیمهای کوچک زیادی که کارهای کوچک بسیاری انجام می‌دهند انجام می‌شوند. این چیزی است که برنامه نویسان در دهه 50 و 60 به طور غریزی می‌دانستند. و این همان چیزی بود که در دهه 1970 فراموش شد. چرا فراموش شد؟ من گمان می‌کنم که دلیلش ناپیوستگی زمان بوده است. در دهه 1970، تعداد برنامه نویسان در جهان شروع به منفجر شدن کردند. پیش از آن، فقط چند هزار برنامه نویس در جهان وجود داشت. پس از آن، صدها هزار نفر بودند. اکنون این تعداد به یکصد میلیون نفر نزدیک شده است.

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

برای کمک به محبوب کردن این ایده، ما این ایده را نامگذاری کردیم. ما آن را «چابک» نامیدیم. من این مقدمه را در روزهای اول سال 2019 نوشتم. تقریباً دو دهه از زمان راه اندازی مجدد سال 2000 می‌گذرد و به نظر من زمان راه اندازی مجدد دیگری فرا رسیده است. چرا؟ زیرا پیام ساده و کوچک Agile طی این سالها گنگ شده است. Agile با مفاهیمLean ، Kanban، LeSS، SAFe ، مدرن، ماهر و بسیاری موارد دیگر آمیخته شده است. این ایده‌های دیگر لزوما بد نیستند، اما پیام اصلی Agile نیستند. بنابراین وقت آن است که یک بار دیگر آنچه که پیشینیان ما در دهه‌های 50 و 60 و آنچه که ما در سال ۲۰۰۰ یاد گرفتیم به ما یادآوری شود. وقت آن است که به یاد بیاوریم که چابک واقعاً چیست.

در این کتاب، شما چیز جدیدی نخواهید یافت، هیچ چیز قابل توجه یا حیرت انگیزی، هیچ چیز انقلابی که الگو را بشکند. آنچه پیدا خواهید کرد بازگویی Agile به همان شکلی است که در سال ۲۰۰۰ گفته شد. اوه، Agile از دیدگاه دیگری گفته شده است، و ما در طی 20 سال گذشته چیزهایی آموخته ایم که آن‌ها را نیز آورده ام. اما در کل، پیام این کتاب پیام 2001 و پیام 1950 است. این یک پیام قدیمی است. این یک پیام واقعی است. این پیغامی است که راه حل کوچک برای مشکل کوچک تیم‌های نرم افزاری کوچک که کارهای کوچک انجام می‌دهند را در اختیار ما می‌گذارد.

 

 

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

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

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

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

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

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

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

برنامه نویسی شی گرا (OOP)، اساس زبان‌های برنامه نویسی مدرن است از جمله: سی پلاس پلاس، جاوا، سیشارپ، ویژوال بیسیک دات نت، روبی، Objective-C و Swift. اشیا، همچنین اساس فناوری‌های وب زیادی مثل جاوا اسکریپت، پایتون و PHP را شکل می‌دهند.

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

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

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

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

تفاوت بین یک برنامه نویس بد و یک برنامه نویس خوب، فهم است؛ یعنی این که برنامه نویسان بد نمی‌فهمند که چه کار می‌کنند در حالی که برنامه نویسان خوب، می‌فهمند. باور کنید یا نه، قضیه به همین سادگی است.

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

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

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

مهمتر از همه، این کتاب برای کمک به شما، و آوردن خوشفکری، نظم و سادگی به زمینه توسعه نرم افزار نوشته شده است. امیدوارم که از خواندن آن لذت ببرید و زندگی شما و نرم افزار شما را به نوعی بهبود بخشد.

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

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

  • از خواننده خواسته می‌شود قبل از شروع جنبه‌های عملی‌تر تفکر شیء، تاریخ و فلسفه زیادی را بخواند و درک کند.
  • نویسنده کتاب، به طور پیوسته و سرسختانه ای از رفتار به عنوان مفهومی کلید برای کشف، توصیف و طراحی اشیا و کامپوننت ها، طرفداری می‌کند.
  • محوریت کارت‌های (CRC (Class-Responsibilty-Collaborator، به عنوان یک دستگاه یا ابزار تفکر شی، تقریبا بی ربط تلقی شده است چرا که (UML (Unified Modeling Language، به استانداردی بالفعل تبدیل شده است.
  • بی تفاوتی آشکار، یا حتی خصومت نسبت به فرمالیسم و رویکردهای رسمی در مورد مشخصات نرم افزاری که ذاتا رویکردی رفتاری است، برخی خوانندگان به ویژه کسانی که در گروه‌های علوم کامپیوتر در دانشگاه‌های تحقیقاتی آموزش دیده اند را نگران خواهد کرد.
  • تاکید بر تحلیل و مفهوم سازی، به جای جزئیات پیاده سازی که ممکن است بعضی از خوانندگان را یاد مطالب آکادمیک بندازد.
تعداد بازدید: ۳۱۹
دیدگاه ها: ۰
تاریخ: ۲۱:۴۶:۱۱ ۱۳۹۸/۶/۴ دوشنبه
توسط: MotoMan
امتیاز: ۱
برچسب ها: software engineering |

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

در کتاب Design It!: From Programmer to Software Architect، شما خواهید آموخت که چگونه معماری‌های نرم افزاری عالی طراحی کنید. فقط برای روشن شدن موضوع، این کتاب به صورت تئوری و طراحی نرم افزار با انتزاع بالا نیست. شما همچنین هیچ راه حل لوبیای سحر آمیزی، فریمورک‌ها و فناوری هایی را پیدا نمی‌کنید که هر مشکلی را به شکل جادویی حل کنند. شما یاد می‌گیرید که چگونه اصول و شیوه‌های اساسی طراحی را به کار بگیرید، که شما را به یک برنامه نویس، معمار و یک رهبر فنی قوی‌تر تبدیل می‌کند.

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

تعداد بازدید: ۴۰۶
دیدگاه ها: ۰
تاریخ: ۲۱:۲۲:۵۹ ۱۳۹۸/۵/۲۰ یکشنبه
توسط: 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)، برای هر کسی که پروژه‌های نرم افزاری پیچیده را مدیریت می‌کند، بینش لازم را ارائه می‌دهد.

تعداد بازدید: ۴۹۷
دیدگاه ها: ۰
loading...

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