نوشته های معشوقه نرم افزار

نوشته های سعید فعله گری در مورد مباحث تخصصی نرم افزار، کتاب ، روانشناسی و رمان

ترجمه کتاب Software Requirements


مدتی است که می خواهم کتابی را ، از کتاب هایی که از آلمان و سوئد و کانادا تهیه کرده بودم ، برای ترجمه انتخاب کنم.

دو کتاب را برای ترجمه  انتخاب کرده بودم. کتاب Code Complete و کتاب Software Requirements. 

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

اما دلیل اصلی من برای ترجمه این کتاب،  تجربه کاری 20 ماهِ من برای SIEMENS آلمان بود. یکی از منابع اصلی کاری من این کتاب بود و به دلیل تخصص کاری من که در اکثر اوقات با این کتاب سر و کار داشته ام ، این کتاب را برای ترجمه مناسب تر دانستم.



کتاب Software Requirements ویرایش سوم، نوشته karlwiegers(+) و Joy Beatty(+)  است که در آن به بررسی نیازمندی های نرم افزار پرداخته می شود.

طبق گفته خود نویسندگان  از ده سال پیش که زمان انتشار ویرایش قبلی همین کتاب بوده تا زمان انتشار ویرایش سوم این کتاب (سال 2013) نیازمندی های نرم افزاری چندان تغییر نکرده است یا حداکثر تغییرات جزئی داشته است که موجب شده این کتاب به ویرایش سوم برسد. 



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


Despite decades of industry experience, many software organizations struggle to understand, document, and manage their product requirements. Inadequate user input, incomplete requirements, changing requirements, and misunderstood business objectives are major reasons why so many information technology projects are less than fully successful. Some software teams aren’t proficient at eliciting requirements from customers and other sources. Customers often don’t have the time or patience to participate in requirements activities. In many cases, project participants don’t even agree on what a “requirement” is. As one writer observed, “Engineers would rather decipher the words to the Kingsmen’s 1963 classic party song ‘Louie Louie’ than decipher customer requirements” (Peterson 2002).

The second edition of Software Requirements was published 10 years prior to this one. Ten years is a long time in the technology world. Many things have changed in that time, but others have not. Major requirements trends in the past decade include:

  • The recognition of business analysis as a professional discipline and the rise of professional certifications and organizations, such as the International Institute of Business Analysis and the International Requirements Engineering Board.
  • The maturing of tools both for managing requirements in a database and for assisting with requirements development activities such as prototyping, modeling, and simulation.
  • The increased use of agile development methods and the evolution of techniques for handling requirements on agile projects.

  • The increased use of visual models to represent requirements knowledge.

So, what hasn’t changed? Two factors contribute to keeping this topic important and relevant. First, many undergraduate curricula in software engineering and computer science continue to underemphasize the importance of requirements engineering (which encompasses both requirements development and requirements management). And second, those of us in the software domain tend to be enamored with technical and process solutions to our challenges. We sometimes fail to appreciate that requirements elicitation—and much of software and systems project work in general—is primarily a human interaction challenge. No magical new techniques have come along to automate that, although various tools are available to help geographically separated people collaborate effectively.


قطعاً ترجمه این کتاب از من وقت زیادی را خواهد گرفت. اما باید زمانی را نیز برای ویرایش و کارهای مربوطه اش صرف کنم. عجله چندانی هم برای ترجمه این کتاب ندارم. قطعا می خواهم متنی خوشخوان و بدون پیچیدگی نوشتاری را تهیه کنم. و این خود منوط به صرف زمان زیادی خواهد بود. 

موضوعات کتاب فقط برای نرم افزار نیست بلکه تحلیل گران شغل یا Business Analystها می توانند به نحو احسنت از مطالب این کتاب بهره ببرند. هرچند توجهات کمی به این زمینه در Businessها می شود. 

اما همین توجه نکردن هاست که موجب مشکلات بزرگی در آینده Businessها می شود.

برای ترجمه این کتاب هم از کسی کمک نخواهم گرفت.دلایل زیادی برای این کار دارم. مهمترین دلایل ام را در زیر نوشته ام.

1) چون بعد از صرف مدت زمانی طولانی ( حدود 15 ماه) کسی را پیدا نکردم که در این زمینه دانش خوبی داشته باشد یا حداقل اکثر مطالب این کتاب را به کار گرفته باشد. 

2) در صورت امکان ترجمه گروهی ، زمان جمع بندی و ایراد گرفتن و یک دست کردن منبع را نخواهم داشت و قطعا این کار را انجام نخواهم داد. چون نمی خواهم یکپارچگی متن را از دست بدهم. 


بعد از کمی جستجو متوجه شدم که کتاب هم ترجمه شده است اما ناقص. نمی دانم چطوری کسی به خودش اجازه می دهد که  کتابی را که  640 صفحه و 32 فصل دارد را  به کتابی با  17 فصل و 424 صفحه تبدیل کند. برای مشاهده کتاب ترجمه شده می توانید این دو لینک  (1) و (2) را مشاهده کنید.

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

کتاب هایی که در ایران ترجمه می شود اکثراً همان نسخه های کتاب های دزدی به شکل PDF  هستند.

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

ای کاش  اکثر کتاب ها همان گونه که بودند ترجمه می شدند. من مشکلی با نسخه دزدی PDF  ندارم. مشکل من با ترجمه درست و حسابی و تمام و کمال کتاب است. بدون دخل و تصرف مترجم.

سلام. 
با توجه به اینکه میدونم در این حوزه مطالعات و تجربیات زیادی داری، نظرت درباره کتاب مهندسی نرم افزار پرسمن چیه؟ چون مرجع اصلی تدریس در دانشگاه های ایرانه دوست داشتم نظرت رو بدونم.
بخش‌هایی از این نظر که با * مشخص شده، توسط مدیر سایت حذف شده است
سلام بر آتنای عزیز.
مهندسی نرم افزار پرسمن کتابی عالی و کامل و روان است. فقط باید سعی کنی ترجمه شده اش را نخوانی. به هیچ وجه مناسب نیست. 
اگر سعی کنی کتاب زبان اصلی اش را گیر بیاوری ، خیلی عالی است. من که توی انقلاب تهران گشتم ، نسخه آفست چاپ شده بی کیفیت ویرایش هشتم را پیدا کردم.
در بین ویرایش هفتم و هشتم فقط دو یا سه فقط جدید اضافه شده ، که چندان کامل نیستند.
من که کتاب اصلی مهندسی نرم افزار ویرایش هفتم رو سفارش دادم و خوندمش. راضی ام ازش. 
 ولی اگر بتونی کتاب سامرویل رو بخونی خیلی عالی میشه.
کتاب خیلی کامل تر و تخصصی تری هست. 
ولی برای شروع کتاب زبان اصلی، بازهم تاکید می کنم ، زبان اصلی ، مهندسی نرم افزار پرسمن برای شروع کتاب خوبی است.
اما فقط نقشه راه می دهد. یعنی اگر بخواهی به مطالبی که در فصل های مختلف این کتاب ارائه شده تسلط کامل پیدا کنی  ، حداقل باید 40 کتاب دیگر را بخوانی تا دقیق و کامل متوجه شوی.
کتاب سامرویل هم همین طوره. یعنی کلا کتاب های مهندسی نرم افزار کارشون نقشه راه دادن است.
من تا الان حدود 30 میلیون تومن کتاب اصلی سفارش دادم ، اما بازهم توی بعضی مطالبی که پرسمن توی کتابش گفته ، کمبود سواد دارم. 
کتاب خیلی کامل است و با مطالعه آن می توانی به یک سواد کلی در مورد اینکه : مهندسی نرم افزار  چیست و به چه چیزی می گویند مهندسی نرم افزار ، دست پیدا کنی.
اگر بخواهی مثل من توی مباحثی توی این کتاب گفته شده ، عمیق بشی ، حداقل باید 50 جلد کتاب رو بخوانی. 
البته این رو هم بگم که همین مباحثی که توی کتاب مهندسی نرم افزار پرسمن گفته شده ، توی اکثر شرکت های ایرانی  (بالای 99 درصد)  اجرا نمیشه. 
یعنی اگر بجای خواندن این کتاب بشینی و کُد بزنی و تکنیک های بیشتری رو یاد بگیری وضع در آمدت خیلی خیلی فرق میکنه.
چون خیلی کم آدم پیدا میشه که این مباحث رو کامل خونده باشه و خیلی کمتر از اون تعداد پیدا میشه که بخوان این مباحث رو پیاده سازی کنن.
اگر هدف ات افزایش درآمد است ، این کتاب را نخوان و بجایش کُد بزنی و توی گیت هاب برای خودت رزومه درست کنی ، در آمدت خیلی بیشتر می شود.
اما اگر هدف ات افزایش دانش و سواد تخصصی خودت است، یا می خواهی به آن سوی مرزها بروی ، خواندن این کتاب را شدیداً توصیه می کنم.
اگر سوالی دیگر هم داشتی ، ** **** *** ****** **** **** ** ** ** ** **** 
**************  *** 
*** ** ****** ** همین جا مطرح اش کنی ، در خدمتم.
 هر جور که راحتی 

ارادتمند
سعید فعله گری 

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

ممنون بابت توضیحات کاملت

در مورد این کتاب نظر من چیزی دیگری است. 
کلا در حدود سه فصل از 32 فصل رو به نیازمندی ها اختصاص داده. 
مبحث اصلی و پایه  هم توی مهندسی نرم همین بحث نیازمندی هاست.
اگر چه توی ایران اکثراً این مباحث رعایت نمیشه و به هیچ دردی نمی خوره و در حین پروسه ساخت نرم افزار با مشکلات حل نشدنی مواجه میشه که ریشه اش در نظر نگرفتن همین نیازمندی هاست.
شاید دوست شما بیشتر برنامه نویسی کار کرده تا مهندسی نرم افزار. 
دقیقا تفاوت اش مثل مهندسی مکانیک و مکانیک بودن است.
همین طوری که خودت گفتی ، فلسفه ساخت نرم افزار رو توضیح میده ، که توی پروژه های بزرگ اکثر این گفته ها جزو شروط ساخت نرم افزار محسوب میشه.
اما توی ایران شرایط فرق می کنه. اکثر این بندها و فصل هایی که آقای پرسمن توضیح داده ، رعایت نمیشه. یعنی دقیقا برعکس.
بازهم میگم اگر می خوای که دانش خودت افزایش پیدا کنه ، این کتاب رو بخونی عالیه. وگرنه سرکار کمتر کسی هست که به این مسائل اهمیت بده.
تکرار مکررات رو من خیلی کم دیدم. البته مگر کسی یا واقعاً باید خیلی حرفه ای باشه که این مسائل براش تکرار مکررات محسوب بشه یا خیلی خیلی کتاب خونده باشه که اینطوری بگه . که من کمتر کسی رو دیدم که اینطوری فکر کنه.
خلاصه برای شروع خیلی کتاب ساده و روان و خوشخوانی محسوب میشه.
کافیه که یه سری به فصل منابع و مراجع بزنی تا متوجه بشی که چه کتاب خوب و عالی است.
اما اگر می خوای در مورد کُد نویسی و ساخت نرم افزار چیزهای خوبی رو یاد بگیری و فلسفه نخونی   :)) ، 
کتاب Code Complete 2  کتاب خیلی عالی و جامع و دقیقی است. البته بازهم بگم که این کتاب هم کمتر به درد بازار کار ایران می خوره.
:))
در مورد این کتاب در یک مطلب به تفصیل بحث خواهم کرد. 

ارادتمند.
سعید فعله گری 
باز هم ممنون بابت معرفی کتاب code complete.
فهرستش رو الان دیدم و واقعا فوق العاده ست. شاید باورکردنی نباشه ولی مستقیم رفتم سراغ فصل personal character. خیلی برام جذابه طرح موضوعات روانشناسی توی حوزه مهندسی نرم افزار. چیزی که شاید زیاد بهش توجه نشه
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی
Designed By Saeed Felegari استفاده از مطالب همراه با معرفی منبع آزاد است سعید فعله‌گری