- عنوان کتاب: A Concise Introduction to Software Engineering – With Open Source and GenAI – 2nd Edition
- نویسنده: Pankaj Jalote
- حوزه: مهندسی نرم افزار
- سال انتشار: 2025
- تعداد صفحه: 233
- زبان اصلی: انگلیسی
- نوع فایل: pdf
- حجم فایل: 3.34 مگابایت
هر نرم افزاری در حال حاضر احتمالاً از نرم افزار منبع باز و مدل های زبان بزرگ (LLM) یا هوش مصنوعی (genAI) برای کمک به برخی از وظایف استفاده می کند. جنبش منبع باز در چند دهه گذشته به بلوغ رسیده است و نرم افزار منبع باز اکنون بخشی مهم و جدایی ناپذیر از اکوسیستم نرم افزار است. LLMها، که نسبتاً اخیراً وارد شدهاند، جهان را طوفانی کردهاند و بر تمام فعالیتهایی که هدف آن تولید متن (یا انواع دیگر مصنوعات) است، از جمله توسعه نرمافزار، تأثیر میگذارند. این دو گرایش مهم دلیل عنوان فرعی این نسخه «استفاده از منبع باز و هوش مصنوعی مولد» است. در حالی که این نسخه از کتاب، مانند نسخه قبلی، بر توسعه نرم افزار تمرکز دارد، برای وظایف اصلی درگیر در یک پروژه توسعه، همچنین استفاده از منبع باز و LLM ها را مورد بحث قرار می دهد. یک دوره مقدماتی در زمینه مهندسی نرم افزار یکی از سخت ترین موضوعات برای تدریس است، در درجه اول به دلیل طیف گسترده ای از موضوعاتی که این منطقه شامل می شود. مدتی است که معتقدم که ما اغلب تمایل داریم مفاهیم و موضوعات زیادی را در یک دوره مقدماتی آموزش دهیم که در نتیجه دانش کم عمق و مهارت کافی برای به کارگیری مفاهیم را نداریم. من معتقدم که یک دوره مقدماتی مهندسی نرم افزار باید با هدف توانمندسازی دانش آموزان با دانش و مهارت هایی باشد که برای اجرای موفقیت آمیز یک پروژه تیمی کوچک برای ارائه یک نرم افزار نرم افزاری با اندازه متوسط به کاربرانش در عین به کارگیری شیوه ها و تکنیک های مناسب مورد نیاز است. شایان ذکر است که اکثریت قریب به اتفاق پروژههایی که امروزه در صنعت اجرا میشوند، در این محدوده قرار میگیرند – که توسط یک تیم کوچک طی چند ماه اجرا شده است. از این رو، هدف این کتاب مانند قبل باقی می ماند: معرفی تعداد محدودی از مفاهیم و عملکردها به دانش آموزان که به دو هدف زیر دست می یابد:
• به دانش آموزان کمک کنید تا مهارت های مورد نیاز برای ایجاد یک برنامه کاربردی با اندازه متوسط را در یک تیم کوچک توسعه دهند و در عین حال از شیوه ها و روش های مناسب استفاده کنند.
• به دانشجویان زمینه های مفهومی مناسبی برای انجام مطالعات پیشرفته در مهندسی نرم افزار ارائه دهید.
Any software development now will probably use open source software and large language models (LLMs) or generative AI (genAI) for helping in some of the tasks. The open source movement has matured over the last few decades and open source software is now an important and integral part of the software ecosystem. LLMs, which arrived relatively recently, have taken the world by storm and are impacting all activities where generation of text (or other type of artifacts) is the goal, including software development. These two important trends are the reason for the sub-title of this edition “using open source and Generative AI”. While this edition of the book, like the previous one, will focus on developing software, for the major tasks involved in a development project, it will also discuss the use of open source and LLMs. An introductory course on Software Engineering remains one of the hardest subjects to teach, primarily because of the wide range of topics the area encompasses. I have believed for some time that we often tend to teach too many concepts and topics in an introductory course, resulting in shallow knowledge and insufficient skills for applying the concepts. I believe that an introductory course on Software Engineering should aim to empower students with the knowledge and skills that are needed to successfully execute a small team project to deliver a modest-sized software application to its users while employing proper practices and techniques. It is worth pointing out that a vast majority of the projects executed in the industry today fall in this scope—executed by a small team over a few months. Hence, the goal of this book remains the same as before: introduce to the students a limited number of concepts and practices that will achieve the following two objectives:
• Help students develop the skills needed to build a modest-size application in a small team while employing proper practices and methodologies.
• Provide the students with decent conceptual background for undertaking advanced studies in software engineering.
این کتاب را میتوانید از لینک زیر بصورت رایگان دانلود کنید:
نظرات کاربران