دانلود کتاب مهندسی نرم افزار پرسمن ترجمه فارسی
بخشی از متن کتاب:
فرآیند، مجموعه ای از فعالیت ها، اقدامات و وظایف انجام شده در مراحل تولید یک محصول میباشد.فعالیتهای مربوطه، جهت دستیابی به اهداف گوناگون(به عنوان مثال، ارتباط با سهامداران) و بدون توجه به دامنهی کاربرد و اندازهی پروژه، پیچیدگی مراحل کار، یا نوع مهندسی نرم افزار که در پیش گرفتهایم، انجام میشوند.اموری مثل طراحی معماری، شامل اقداماتی هستند که منجر به ارائهی محصولاتی مثل مدل معماری میشود.هر اقدام، روی هدف کوچک اما مشخصی(مثل انجام یک واحد آزمایش)، تمرکز میکند که نتایج مشخصی به دنبال دارد. در زمینهی مهندسی نرم افزار، یک فرآیند، یک نسخهی دستوری برای ساخت یک نرمافزار کامپیوتری نیست.بلکه رویکردی قابل انطباق است که افراد مشغول به کار( تیم سازندهی نرم افزار) را قادر به انتخاب اقدامات و وظایف مناسب میکند.هدف، همواره ارائهی به موقع نرم افزار، با کیفیت بالا، جهت کسب رضایت سرمایهگذاران و کاربران است.
1-3-1 چارچوب فرآیند
چارچوب فرآیند، ضمن شناسایی تعدادی از فعالیتهای قابل اجرا در تمام پروژههای نرم افزاری، صرف نظر از اندازه و پیچیدگی آنها، اساس فرآیند مهندسی نرم افزار محسوب میشود. به علاوه، چارچوب فرآیند، شامل مجموعه ای از فعالیتهای حفاطتی است که در سرتاسر فرآیند نرم افزار، قابل اجرا هستند.در مهندسی نرم افزار، یک چارچوب فرآیند عمومی شامل پنج مرحله است:
ارتباطات. قبل از شروع هر کار فنی، برقراری ارتباط و همکاری با مشتری(و سایر سهامداران)، بسیار مهم است.هدف ما، درک اهداف سهامداران برای پروژه، و کمک به تعریف ویژگیها و عملکرد نرم افزار است.
برنامه ریزی. با وجود یک نقشه، هر پیچیدگی آسان خواهد شد.برای مثال، پروژهی نرم افزاری که امری پیچیده میباشد، به کمک برنامه ریزی و طراحی “نقشه”، آسان خواهد شد.نقشهی پروژهی نرم افزاری، کار مهندسی نرم افزار را با توصیف امور فنی انجام شده، خطرات احتمالی، منابع موردنیاز، محصول نهایی کار و یک برنامهی کاری، تعریف میکند.
مدل سازی. شما چه یک باغبان باشید و چه یک سازندهی پل، چه یک مهندس هوانوردی، یک نجار و یا یک معمار باشید، روزانه با مدلهای مختلفی سر و کار خواهید داشت.در واقع، شما برای درک تصزیر در مقیاس بزرگ، یک “طرح” ایجاد میکنید، چنانچه در معماری، نحوهی قرارگیری اجزا در کنار هم و ویژگیهای دیگر، مورد بررسی قرار میگیرند.در صورت نیاز، میتوانید جزئیات بیشتری را در طرح خود اعمال کنید تا درک مشکل و راه حل آن، راحتتر شود؛ این همان کاری است که یک مهندس نرم افزار انجام میدهد و برای درک بهتر نیازهای نرم افزار و طرح مناسب جهت پاسخگویی به این نیازها، به ساخت مدل میپردازد.
ساخت و ساز. شما باید آنچه طراحی میکنید را بسازید.این کار، ترکیبی از کدنویسی (دستی یا خودکار) و آزمایش، جهت کشف خطاهای موجود در کدها است.
ارائه و ارزیابی. نرم افزار( به صورت کاملاً آماده و تمام کار، یا قبل از اتمام مراحل ساخت)، به مشتری تحویل داده میشود و براساس ارزیابی انجام شده توسط مشتری، بازخوردی ارائه میشود.
این پنج مرحلهی چارچوب عمومی، میتواند جهت توسعهی برنامههای کوچک و ساده، ساخت برنامههای وب، و برای مهندسی سیستمهای کامپیوتر محور بزرگ و پیچیده استفاده شود.جزئیات فرآیند نرم افزار، در هر مورد کاملاً متفاوت خواهد بود؛ اما مراحل چارچوب، مشابه خواهند بود. برای بسیاری از پروژه های نرم افزاری، مراحل چارچوب، به صورت تکرارشونده، به عنوان فرآیندهای پروژه، انجام میشوند؛ یعنی ارتباطات، برنامه ریزی، مدل سازی، ساخت و ساز و ارائه و ارزیابی، به طور مکرر، در تمام دفعات بازنویسی پروژهها اعمال می شوند.پس از هر بار بازنویسی و توسعه، نرم افزاری با بخشی از امکانات و عملکردهای کلی، به سهامداران ارائه میشود؛ بنابراین با هر بار بازنویسی، نرم افزار، کامل و کاملتر میشود