وبلاگ بلیان

مدیریت الزامات نرم‌افزاری: رویکرد مورد استفاده (ویرایش دوم)

Managing Software Requirements: A Use Case Approach, Second Edition

جلد کتاب مدیریت الزامات نرم‌افزاری: رویکرد مورد استفاده (ویرایش دوم)

معرفی کتاب «مدیریت الزامات نرم‌افزاری: رویکرد مورد استفاده (ویرایش دوم)» (با عنوان لاتین Managing Software Requirements: A Use Case Approach, Second Edition) نوشتهٔ Dean Leffingwell, Don Widrig، منتشرشده توسط نشر Addison-Wesley Professional در سال 2003. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.

مدیریت موفق پروژه‌های نرم‌افزاری، بیش از هر چیز در گرو درک صحیح و مدیریت دقیق نیازها و الزامات اولیه است. کتاب «Managing Software Requirements: A Use Case Approach» (مدیریت الزامات نرم‌افزاری: رویکرد مورد استفاده) نوشته‌ی دین لفینگول و دان ویدریگ، از جمله آثاری است که با هدف حل همین چالش اساسی نوشته شده و راهکاری عملی و اثبات‌شده برای ساخت سیستم‌هایی ارائه می‌دهد که نیازهای واقعی مشتریان را برآورده می‌سازند. این کتاب با ویرایش دوم خود، به یکی از منابع مرجع در حوزه‌ی مهندسی نیازمندی‌ها تبدیل شده است.

دربارهٔ کتاب مدیریت الزامات نرم‌افزاری: رویکرد مورد استفاده (ویرایش دوم)

محور اصلی این کتاب، پرداختن به دلیل شکست بسیاری از پروژه‌های نرم‌افزاری است؛ دلیلی که اغلب به تعریف و مدیریت نادرست نیازمندی‌ها در ابتدای مسیر یا در حین پیشرفت پروژه بازمی‌گردد. نویسندگان با بهره‌گیری از زبانی روان و صمیمی، تجربیات عملی خود را در قالب داستان‌های واقعی و یک مطالعه‌ی موردی جامع به نام «سیستم اتوماسیون روشنایی خانه (HOLIS)» روایت می‌کنند تا نشان دهند چگونه تحلیل‌گران و توسعه‌دهندگان می‌توانند با استفاده از تکنیک‌های متنوع، به ویژه بر پایه‌ی قدرت موارد استفاده (Use Cases)، نیازمندی‌ها را به شکلی مؤثر شناسایی کنند. این کتاب که در سال ۲۰۰۳ توسط انتشارات Addison-Wesley Professional منتشر شده، رویکردی گام‌به‌گام و ساختاریافته را ارائه می‌دهد که در عین حال با نیازهای دنیای واقعی توسعه نرم‌افزار هماهنگ است. فضای حاکم بر کتاب، آموزشی و در عین حال کاملاً عملی است و از ارائه‌ی مباحث صرفاً آکادمیک پرهیز می‌کند. نویسندگان با تکیه بر سال‌ها تجربه در زمینه‌ی مدیریت نیازمندی‌ها و حتی توسعه‌ی ابزارهای مرتبط با آن، مفاهیم را به زبانی قابل فهم برای تیم‌های نرم‌افزاری توضیح می‌دهند. سبک نگارش کتاب به گونه‌ای است که مطالعه‌ی آن را برای متخصصان این حوزه دلپذیر و مفید می‌سازد. این اثر به طور خاص به چالش همیشگی مدیریت تغییرات می‌پردازد و فرآیندی را برای تعریف و توافق بر سر محدوده‌ی پروژه توسط تمام ذی‌نفعان ارائه می‌کند.

دربارهٔ نویسنده

دین لفینگول (Dean Leffingwell)، مشاور توسعه‌ی کسب‌وکار نرم‌افزاری و از مدیران سابق شرکت Rational Software، به عنوان یکی از صاحب‌نظران شناخته‌شده در حوزه‌ی نیازمندی‌های نرم‌افزاری محسوب می‌شود. او یکی از بنیان‌گذاران و مدیرعامل شرکت Requisite, Inc. بود که ابزار موفق مدیریت نیازمندی‌ها یعنی RequisitePro را توسعه داد و همچنین «کالج نیازمندی‌ها» را بنیان نهاد که بعدها پایه‌ی دوره‌های آموزشی محبوب این حوزه در شرکت Rational شد. دان ویدریگ (Don Widrig)، نویسنده‌ی دیگر این کتاب، یک نویسنده‌ی فنی و مشاور مستقل است که دوره‌ی آموزشی ابزار RequisitePro را برای شرکت Rational توسعه و ارائه کرده است. او پیشتر معاون تحقیق و توسعه در شرکت RELA, Inc. بود که در زمینه‌ی تولید سیستم‌های بلادرنگ و ایمنی-حساس فعالیت می‌کرده است. این پیشینه‌ی عملی و غنی هر دو نویسنده، اعتبار و کاربردی بودن محتوای کتاب را دوچندان کرده است.

چرا باید مدیریت الزامات نرم‌افزاری: رویکرد مورد استفاده (ویرایش دوم) را بخوانید؟

  • درک ریشه‌ی شکست پروژه‌ها: این کتاب نشان می‌دهد که چرا و چگونه عدم توجه به نیازمندی‌ها، پروژه‌ها را با شکست مواجه می‌کند و راهکارهایی عملی برای جلوگیری از این سرنوشت ارائه می‌دهد.
  • تسلط بر مهارت‌های کلیدی تیم: کتاب شش مهارت حیاتی را برای تیم‌های نرم‌افزاری معرفی می‌کند: تحلیل مسئله، درک نیازهای کاربران و ذی‌نفعان، تعریف سیستم، مدیریت محدوده، اصلاح تعریف سیستم، و ساخت سیستم درست.
  • یادگیری از طریق مطالعه‌ی موردی جامع: تمامی مفاهیم و تکنیک‌ها در طول کتاب با یک مطالعه‌ی موردی کامل (سیستم HOLIS) به تصویر کشیده می‌شوند که درک آن‌ها را برای خواننده ملموس‌تر می‌کند.
  • مدیریت مؤثر تغییرات: یکی از نقاط قوت کتاب، پرداختن به مدیریت تغییرات است و فرآیندی ارائه می‌دهد که با کمترین اختلال برای تیم توسعه، انعطاف‌پذیری لازم را برای برآورده کردن نیازهای نهایی کاربر فراهم می‌کند.
  • ارائه‌ی روش‌های چابک: کتاب فصلی را به روش‌های چابک نیازمندی‌ها اختصاص داده و روش‌های مختلفی چون «افراطی»، «چابک» و «محکم» را با یکدیگر مقایسه کرده و راهنمایی برای انتخاب روش مناسب پروژه ارائه می‌دهد.
  • ارائه‌ی قالب‌های عملی: پیوست‌های کتاب شامل قالب‌هایی برای اسناد کلیدی مانند سند چشم‌انداز و مشخصات مورد استفاده است که می‌تواند نقطه‌شروع عالی برای تیم‌ها باشد.

این کتاب برای چه کسانی مناسب است؟

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

سوالات متداول

آیا این کتاب صرفاً بر روی «موارد استفاده» (Use Cases) تمرکز دارد یا مباحث دیگری را نیز پوشش می‌دهد؟

با وجود اینکه عنوان کتاب بر «رویکرد مورد استفاده» تأکید دارد، محتوای کتاب بسیار جامع‌تر است و موارد استفاده را صرفاً به عنوان یکی از ابزارهای قدرتمند در جعبه‌ابزار مدیریت نیازمندی‌ها معرفی می‌کند. کتاب به موضوعات گسترده‌تری مانند تحلیل مسئله، مدل‌سازی کسب‌وکار، مهندسی سیستم، مدیریت محدوده و ردیابی نیازمندی‌ها نیز می‌پردازد.

آیا این کتاب برای پروژه‌های با متدولوژی چابک (Agile) نیز کاربرد دارد؟

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

آیا این کتاب برای مطالعه‌ی خودآموز مناسب است یا باید در کنار یک دوره‌ی آموزشی استفاده شود؟

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

Many projects fail because developers fail to build the right thing. Developers of any kind of application should read this book. -Grady Booch"A comprehensive solution to the requirements challenges faced by every development team. Full of insight and ideas all developers can learn from. -Ivar JacobsonDespite the wealth of development knowledge, experience, and tools available today, a substantial percentage of software projects fail, often because requirements are not correctly determined and defined at the outset, or are not managed correctly as the project unfolds. This second edition of the popular text Managing Software Requirements focuses on this critical cause of failure and offers a practical, proven approach to building systems that meet customers' needs on time and within budget.Using an accessible style, their own war stories, and a comprehensive case study, the authors show how analysts and developers can effectively identify requirements by applying a variety of techniques, centered on the power of use cases. The book illustrates proven techniques for determining, implementing, and validating requirements. It describes six vital Team Skills for managing requirements throughout the lifecycle of a project: Analyzing the Problem, Understanding User Needs, Defining the System, Managing Scope, Refining the System Definition, and Building the Right System. Managing Software Requirements, Second Edition, specifically addresses the ongoing challenge of managing change and describes a process for assuring that project scope is successfully defined and agreed upon by all stakeholders.Topics covered include: \* The five steps in problem analysis \* Business modeling and system engineering \* Techniques for eliciting requirements from customers and stakeholders \* Establishing and managing project scope \* Applying and refining use cases \* Product management \* Transitioning from requirements to design and implementation \* Transitioning from use cases to test cases \* Agile requirements methods" "Many projects fail because developers fail to build the right thing. Developers of any kind of application should read this book." -Grady Booch "A comprehensive solution to the requirements challenges faced by every development team. Full of insight and ideas all developers can learn from." -Ivar Jacobson Despite the wealth of development knowledge, experience, and tools available today, a substantial percentage of software projects fail, often because requirements are not correctly determined and defined at the outset, or are not managed correctly as the project unfolds. This second edition of the popular text Managing Software Requirements focuses on this critical cause of failure and offers a practical, proven approach to building systems that meet customers' needs on time and within budget. Using an accessible style, their own war stories, and a comprehensive case study, the authors show how analysts and developers can effectively identify requirements by applying a variety of techniques, centered on the power of use cases. The book illustrates proven techniques for determining, implementing, and validating requirements. It describes six vital Team Skills for managing requirements throughout the lifecycle of a project: Analyzing the Problem, Understanding User Needs, Defining the System, Managing Scope, Refining the System Definition, and Building the Right System. Managing Software Requirements, Second Edition , specifically addresses the ongoing challenge of managing change and describes a process for assuring that project scope is successfully defined and agreed upon by all stakeholders. Topics covered include: The five steps in problem analysis Business modeling and system engineering Techniques for eliciting requirements from customers and stakeholders Establishing and managing project scope Applying and refining use cases Product management Transitioning from requirements to design and implementation Transitioning from use cases to test cases Agile requirements methods 032112247XB05082003 This text analyzes critical causes of failure for software projects and offers a practical approach for building systems that meet customers' needs on time and under budget. Leffingwell (a software business consultant) and Widrig (a technical writer) offer their own war stories and a comprehensive case study to help illustrate topics including the five steps of problem analysis, managing project scope, and agile requirements methods. The revised second edition includes a new preface and increased emphasis on the power of use cases for defining behaviors of systems. Annotation (c)2003 Book News, Inc., Portland, OR (booknews.com) This Second Edition of the popular text Managing Software Requirements focuses on this critical cause of failure and offers a practical, proven approach to building systems that meet customers' needs on time and within budget. Using an approachable style, their own war stories and a comprehensive case study, the authors show how students can effectively identify requirements by applying a variety of techniques, centered on the power of use cases. The book illustrates proven techniques for determining, implementing, and validating requirements. Dean Leffingwell, Don Widrig. Includes Bibliographical References (p. 483-486) And Index.
دانلود کتاب مدیریت الزامات نرم‌افزاری: رویکرد مورد استفاده (ویرایش دوم)