دانلود کتاب Software Engineering: A Practitioner's Approach
by Roger Pressman
|
عنوان فارسی: مهندسی نرم افزار : رویکرد یک تمرینکننده |
دانلود کتاب
جزییات کتاب
مهندسی نرم افزار یک نظام مهندسی است که با تمام جنبههای نرم افزاری محصول، از مراحل اولیه تعیین مشخصات سیستم تا نگهداری سیستم، سروکار دارد. در این تعریف دو مرحله اساسی وجود دارد:
۱. نظام مهندسی:
مهندسین نرم افزار، چیزهایی را وادار به کار میکنند. آنها تئوریها، روشها و ابزارها را در جاهای مناسبی به کار میگیرند، ولی معمولا آنها را انتخاب میکنند و سعی میکنند راهحلهایی را برای مسئلهها پیدا کنند. مهندسین همچنین تشخیص میدهند که باید کارشان را با توجه به محدودیتهای سازمانی و عملیاتی انجام دهند. لذا، راهحلها را با توجه به این محدودیت جستجو میکنند.
۲. تمام جنبههای محصول نرم افزاری:
مهندسی نرم افزار فقط با فرآیندهای تکنیکی توسعه نرم افزار سروکار ندارد، بلکه با فعالیتهایی مثل مدیریت پروژه نرم افزاری و با توسعه ابزار، روشها و تئوریها برای پشتیبانی محصول نرم افزاری سروکار دارد.
مهندسی نرم افزار در سه فاز کلی گروه بندی میشود:
- فاز تعریف:
بر چیستی تاکید دارد. چه اطلاعاتی باید پردازش شود، کدام کارایی مطلوب است، چه رفتارهای سیستمی قابل انتظار است، چه رابطههایی را میتوان برقرار کرد، چه محدودیتهایی وجود دارد و بطور کلی خواستههای کلیدی سیستم شناسایی میشود.
سه کار عمده در این فاز شامل، مهندسی اطلاعات یا سیستم، طرح ریزی پروژه نرم افزار و تحلیل خواستهها است.
- فاز توسعه:
بر چگونگی تاکید دارد. دادهها چه ساختاری داشته باشند، عملیات درون معماری چگونه پیاده سازی میشوند، جزییات روالها، ویژگیهای واسطها، زبان برنامه نویسی، نحوه آزمایشها.
سه کار عمده در این فاز شامل، طراحی نرم افزا، تولید دستورها و آزمایش نرم افزار.
- فاز پشتیبانی:
بر تغییراتی تاکید دارد که با تصحیحات مورد نیاز در جهت تکامل محیط نرم افزار در ارتباط هستند و نیز تغییراتی که ناشی از تغییر خواستههای مشتریان هستند.