یان سامرویل در کتاب مهندسی محصولات نرم افزاری نشان میدهد که موفقیت یک محصول نرمافزاری تنها حاصل کدنویسی صحیح یا استفاده از فناوریهای جدید نیست. یک محصول زمانی میتواند کارآمد و ماندگار باشد که تیم توسعه، کاربران و نیازهای آنان را بهدرستی بشناسد، ویژگیهای محصول را آگاهانه انتخاب کند و برای توسعه و عرضهی نسخههای مختلف آن برنامهای واضح و مشخص داشته باشد.
دربارهی کتاب مهندسی محصولات نرم افزاری
کتاب مهندسی محصولات نرم افزاری (Engineering Software Products) اثر یان سامرویل (Ian Sommerville) بیان میکند که در یک پروژهی سفارشی، مشتری مشخصی وجود دارد که نیاز و انتظارات خود را تعیین میکند و تیم توسعه، نرمافزار را بر همان اساس میسازد. در مقابل، در توسعهی محصول نرمافزاری، تیم باید خود فرصتها و امکانات موجود را شناسایی کند، کاربران هدف را تشخیص دهند و قابلیتهای اصلی و مهم محصول را انتخاب کنند.
یان سامرویل در کتاب مهندسی محصولات نرم افزاری میگوید که در چنین شرایطی، مدیریت محصول جایگاهی محوری پیدا میکند. مدیر محصول میان هدفهای کسبوکار، نیازهای کاربران و محدودیتهای فنی تیم توسعه پیوند برقرار میکند و تلاش میکند که این سه حوزه را در مسیری مشترک قرار دهد. پس مدیریت محصول صرفا به برنامهریزی امور محدود نمیشود، بلکه نقش تعیینکنندهای در موفقیت یا شکست محصول دارد.

نقش مدیریت محصول در فرایند توسعه
بخش مهمی از کتاب مهندسی محصولات نرم افزاری به معماری نرمافزار اختصاص پیدا کرده؛ بخشی که یان سامرویل آن را بنیان ساختاری هر محصول نرمافزاری تعریف میکند. معماریهای لایهای، توزیعشده و سرویسگرا، انتخاب پایگاه داده، استفاده از نرمافزار متنباز و ... از جمله موضوعاتی هستند که در این بخش مورد بررسی قرار میگیرند.
یان سامرویل بازخوردگیری مستمر و عرضهی سریع نسخههایی قابل استفاده از نرمافزار را برای موفقیت و افزایش طول عمر محصولات، حیاتی میداند. او در کتاب مهندسی محصولات نرم افزاری، با بررسی مفاهیمی مثل برنامهنویسی مفرط، اسکرام، اسپرینت، تیمهای خودگردان و توسعهی آزمون محور، توضیح میدهد که این شیوهها چگونه به تیمها کمک میکنند تا تغییرات را سریعتر مدیریت کنند، کیفیت نرمافزار را در طول توسعه حفظ کنند و محصول را متناسب با نیازهای واقعی کاربران بهبود ببخشند.
خرید کتاب مهندسی محصولات نرم افزاری به شما کمک میکند تا با فرایند کامل طراحی، توسعه، بررسی، عرضه و بهبود یک محصول نرمافزاری آشنا شوید. این اثر توسط رامین مولاناپور به فارسی ترجمه شده و انتشارات آتی نگر آن را منتشر کرده است.
نکوداشتهای کتاب مهندسی محصولات نرم افزاری
- زبان نوشتاری کتاب ساده است و مطالعهاش آسان و روان پیش میرود. (کاربر آمازون)
- متن این اثر بسیار خوب نوشته شده و یان سامرویل حتی پیچیدهترین موضوعات را نیز به شکلی ساده و قابلفهم توضیح میدهد. در زمان شروع مطالعهی کتاب، عملا هیچ پیشزمینهای در مهندسی نرمافزار نداشتم، ولی با این حال مطالعه و دنبال کردن مطالب کتاب برایم بسیار لذتبخش بود. (کاربر آمازون)
کتاب مهندسی محصولات نرم افزاری برای شما مناسب است اگر
- میخواهید فرایند تبدیل یک ایده به محصول نرمافزاری را بهصورت کامل یاد بگیرید.
- دانشجوی مهندسی نرمافزار یا علوم کامپیوتر هستید و میخواهید دانش خود را در زمینهی معماری نرمافزار و مدیریت محصول افزایش دهید.
- به موضوعاتی مانند فرایند توسعه محصول، رایانش ابری، میکروسرویسها، امنیت نرمافزار و DevOps علاقه دارید.
در بخشی از کتاب مهندسی محصولات نرم افزاری: مقدمهای بر مهندسی نرم افزار مدرن میخوانیم
محصولی را در نظر بگیرید که گزینه «ورود با Google» را ارائه میدهد. کاربری که روی آن کلیک میکند به سرویس هویت Google هدایت میشود. این سرویس هویت کاربر را با استفاده از اعتبارات حساب کاربری Google اعتبارسنجی میکند. سپس نشانهای را به سایت اصلی برمیگرداند تا تأیید کند که این کاربر، کاربر ثبتشده Google است. اگر کاربر از قبل به سرویس Google مانند Gmail وارد شده باشد، آنگاه هویت از قبل ثبت شده است و نیازی به وارد کردن اطلاعات بیشتر برای کاربر نیست.
استفاده از هویتهای با همیده برای احراز هویت دو مزیت دارد:
1- نیازی نیست پایگاه داده خود برای گذرواژهها و سایر اطلاعات مخفی را نگهداری کنید. مهاجمان سیستم اغلب سعی میکنند به این پایگاه داده دسترسی پیدا کنند، بنابراین اگر پایگاه داده خود را نگهداری میکنید، باید اعمال احتیاطی سختگیرانهای را برای محافظت از آن انجام دهید. پیادهسازی و نگهداری سیستم احراز هویت، فرایندهای پرهزینهای برای شرکتهای تولیدکننده کوچک است. شرکتهای بزرگی مانند Google و Facebook منابع و تخصص موردنیاز برای انجام این کار را دارند.
2- ارائهدهنده هویت ممکن است اطلاعات اضافی درباره کاربران ارائه دهد که میتواند برای شخصیسازی سرویس شما یا ارائه تبلیغات برای کاربران استفاده شود. البته، هنگامی که سیستم هویت با همیده را با ارائهدهنده بزرگی راهاندازی میکنید، آنگاه باید از کاربران بپرسید که آیا مایلاند اطلاعات خود را با شما به اشتراک بگذارند یا خیر. هیچ تضمینی وجود ندارد که آنها با این موضوع موافقت کنند.
بله























