تجزیه و تحلیل و مدلسازی سیستم

88
م ت س سی ی ساز ل ل و مد ی ل ح ت ه و ی ز ج ت ی ی ا سا زض ه م اد : ی س ا

Upload: overton

Post on 12-Jan-2016

81 views

Category:

Documents


1 download

DESCRIPTION

تجزیه و تحلیل و مدلسازی سیستم. استاد : مهسا رضایی. فصل 1. مهندسی نرم افزار : ایجاد روندی سیستماتیک ، منظم و قابل اندازه گیری برای تولید و نگهداری نرم افزار را وظیفه ی علم مهندسی نرم افزار می دانیم. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: تجزیه و تحلیل و مدلسازی سیستم

تجزیه و تحلیل و مدلسازی سیستم

استاد : مهسا رضایی

Page 2: تجزیه و تحلیل و مدلسازی سیستم

1فصل

Page 3: تجزیه و تحلیل و مدلسازی سیستم

:مهندسی نرم افزار

ایج اد رون دی سیس تماتیک ، منظم و قاب ل ان دازه گ یری ب رای تولی د و اف زار می ن رم مهندس ی علم وظیف ه ی را اف زار ن رم نگه داری

دانیم.

مهندس ي ن رم اف زار، ش اخه اي اس ت از مهندس ي، ك ه ب ا به ره گ يري از دانِش< علمي ، ب ه ا رائ ه ي را ه ح ل ه ايي مق رو ن ب ه ص رفه، د ر و مس ائ ل ح ل م نظ ور و ب ه اف زا ري دس تاور دهاي ن رم ق ا لِب<

عملي و خ دمت ب ه جامع ه ي بش ري، اق دام مي نمايد.مش كالت

سه معیار مهم :

. کیفیت نرم افزاری که 3. هزینه 2. زمان 1می خواهیم تولید کنیم.

تعریف نرم افزار :

مجموعه ای از برنامه های کامپیوتری ، روال ها ، قوانین ، مستندات و داده ها را نرم افزار می گوییم.

Page 4: تجزیه و تحلیل و مدلسازی سیستم

مسائل و مشکالت نرم افزار در دنیای کنونی:

. قابلیت اطمینان نرم افزار : بدان معنا که نرم افزار به درستی 1اجرا شود.

. هزینه ی نرم افزار : هدف: کاهِش هزینه ی خرید نرم افزار با 2حفظ کیفیت .

. اعمال تغییرات و دوباره کاری3

انواع نرم افزار :

. غیر چکشخوار 2. چکشخوار ) قابل اعمال تغییرات ( 1) غیرقابل تغییر (

هدف مهندسی نرم افزار :

تولید سیستم به گونه ای که دوباره کاری و تغییر حداقل شود.

Page 5: تجزیه و تحلیل و مدلسازی سیستم

در نظر گرفتن تولید نرم افزار به صورت یک روند:

تولید نرم افزار از مجموعه ای از فعالیتها ساخته می شود.. 2. زمان 1در تولید یک نرم افزار دارای محدودیتهایی هستیم :

. محدودیتهای تکنیکی3هزینه در تولید نرم افزار هدف ساخت یک نرم افزار با کیفیت باال و هزینه

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

کارها تشکیل شده است.

ویژگی های روال های تولید نرم افزار :

. 4. زمان 3. هزینه 2. کیفیت 1. قابل پیِش بینی بودن : 1پیِش بینی ارتباط بین فعالیتها )اولویت در ترتیِب انجام مراحل(

. هر روال یا روند تولید باید قابل تست باشد .2. امکان روال های تولید جهت حذف سریع خطاها و جلوگیری از 3

به وجود آمدن خطاها. اصالح روال تولید4

Page 6: تجزیه و تحلیل و مدلسازی سیستم

Software as aویژگی های یک نرم افزا ر به صورت یک محصول: product

. نرم افزار یک محصول مهندسی است و با اصول مهندسی باید تولید 1شود.

. نرم افزار یک محصول قابل تغییر یا چکشخوار است.2. نرم افزار به دلیل اینکه محصولی فیزیکی نیست ، خراب یا مستهلک 3

نمی شود. اما در عمل به دلیل اعمال تغییرات مداوم شاید دیگر قابل استفاده نبوده و می بایست نرم افزار دیگری جای آن را بگیرد.

h به 4 . نرم افزار برخالف بسیاری از محصوالت مهندسی دیگر ، قالباصورت سفارشی ساخته می شود و از اجزای آماده در آن کمتر استفاده

می شود که یکی از اهداف مهندسی نرم افزار ، افزایِش استفاده از قطعات نرم افزاری آماده است.

Why Softwareدالیل استفاده از مهندسی نرم افزار در پروژه های مهندسی : Engineering?

مهندسی نرم افزار نقِش اساسی در باال بردن کیفیت نرم افزار و کاهِش هزینه ها دارد.

Page 7: تجزیه و تحلیل و مدلسازی سیستم

The influencing role ofنقِش مهندسی نرم افزار در پروژه های مهندسی : Software Engineering

. کاهِش وابستگی به افراد متخصص به صورت خاص1. باالبردن کیفیت ارتباطات تیمی2. تخمین مناسِب شامل تخمین زمان و هزینه 3. مدیریت تغییرات 4. کنترل زمان انجام پروژه ها5. برقراری ارتباط و درک متقابل از نرم افزار بین تولید کنندگان، کاربران 6

و مدیران. انجام و ارائه ی آموزش های مناسِب 7. انجام پیِش بینی های الزم جهت مواجهه با افزایِش توقع کاربران8

Software Engineering Goalsاهداف مهندسی نرم افزار :

- تطبیق نرم افزار با نیازمندیها 1. باال بردن کیفیت : 1- جوابگویی نیازهای کار بران2 - فارغ از خطا بودن یا کم خطا بودن و کارآیی 3

باالی نرم افزار * نرم افزار با کیفیت مناسِب نرم افزاری است که هم نیازهای صریح و

هم نیازهای ذهنی ما را رفع نماید. هر چقدر نرم افزار از منابع کمتری استفاده کند ، کارآیی باالتری دارد.

Page 8: تجزیه و تحلیل و مدلسازی سیستم

. قابل دسترسی باشد.2. اهداف متناقض باید بصورت تعادل درآیند.3

مهندس نرم افزار فردی است که قواعد و اصول علم مهندسی نرم افزار را در روند ایجاد یک نرم افزار یا در حین تولید یک پروژه ی نرم افزار ی

استفاده می کند.

ویژگی های یک مهندس نرم افزار ایده آل:. یک برنامه نویس خوب باشد.1. با روش های مختلف طراحی آشنایی داشته باشد.2. امکان ترجمه و تبدیل نیازهای کاربران 3. قابلیت ارتباط با طیف مختلف کاربران و مدیران 4. دارا بودن قابلیت باالی مدیریتی5

Page 9: تجزیه و تحلیل و مدلسازی سیستم

2فصل

Page 10: تجزیه و تحلیل و مدلسازی سیستم

Software Development Processes

روال های تولید نرم افزار :

ویژگیهای روال های تولید نرم افزار :. هر روال از یک سری فازهای متنوع ساخته شده 1

است.. هر فاز با یک خروجی مشخص خاتمه پیدا می 2

کند. ) وقتی فاز تمام شد، نتیجه ی آن یک محصول است . مثل : گزارش ، برنامه ، ... (

. فازهای تولید نرم افزار در روال های مختلف با 3ترتیِب و توالی مختلف انجام می شود.

Page 11: تجزیه و تحلیل و مدلسازی سیستم

چرا روال تولید به صورت فازبندی یا مرحله بندی شده است؟ . هر فاز یا مرحله نگرشی متفاوت به نرم افزار ارائه می دهد.1. شکستن یک مسئله ی بزرگ به مساائل کوچکتر باعث آسان تر 2

شدن حل مسئله می شود.. ارتقاء کیفیت نرم افزار با فازبندی به دلیل کنترل کیفیت در 3

حین تولید آن انجام می شود.. فازبندی شدن تولید نرم افزار باعث کاهِش هزینه ی تولید می 4

شود. کیفیت باال می رود ، هزینه ی نگهداری کاهِش می یابد. اشکاالت هر مرحله یا هر فاز قابل بازبینی هستند و در هر فاز افراد متخصص به آن فاز، روی آن کار می کنند و کار با کیفیت

باالتری انجام می شود.

فازها یا مراحل تولید نرم افزار :. تعیین یا مشخص کردن نیازمندی ها و ارئه ی آن در ی فاز قابل 1

فهم.. تعیین اینکه کار چطور باید انجام شود تا کیفیت باال رود. برای 2

اینکه کدام راه ، راه مناسِب تری برای انجام نیازمندی ها ست.

Page 12: تجزیه و تحلیل و مدلسازی سیستم

. ارائه ی راهکاری برای پیاده سازی برنامه ای که قبال نیازهای آن 3را شناخته ایم. اینکه نیازمند چه اجزایی هستیم و هر جزء باید در کجا

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

برنامه ای را می نویسیم.( باید مشخص شود چه ماژول Cکه با زبان ها یا فانکشن هایی دارد و فانکشن ها چگونه در کنار هم قرار می

گیرند.4 .Implementation) پیاده سازی یا همان کد نویسی ( 5 .Testing: 1 : تست کد نوشته شده -unit :تست یا واحد

هاfunctionکوچکترین عناصر برنامه ، تست ماژول ها یا 2 -system : قسمتهای

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

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

3 -acceptance تست تجاری : systemیا تست بتا. تست قابل قبول بودن پس از تست شرکت یا به برخی از مشتریان حرفه ای برای تست داده می شود.

Page 13: تجزیه و تحلیل و مدلسازی سیستم

6 .Conversion یا انتقال : تحویل به مشتری و بردن محصول به محیط کاری واقعی و راه اندازی آن در محیط واقعی

: parallel strategy- استراتژی موازی conversion : 1روشهای کار کردن همزمان نرم افزار با نسخه های قبلی برای سیستم هایی

که اهمیت باالیی دارند و در صورت ایجاد مشکل، مشکل بزرگ و غیرقابل جبران باشد.

اینکه : Direct Cutover- قطع ناگهانی 2 تصمیم گرفته شود نرم افزار قبلی از امروز کنار گذاشته شود و نرم

افزار جدید مورد استفاده قرار گیرد. ) پس از اطمینان صحت عملکرد )

: Pilot Study- راه اندازی نمونه ای 3 نرم افزار را مثال برای دو کاربر خاص نوشته و برا ی تست مورد

استفاده قرار می دهیم. : Phased- راه اندازی فاز بندی شده 4

محصول را مرحله به مرحله راه اندازی می کنیم. : اگر نرم افزار maintenance. مرحله ی نگهداری یا پشتیبانی 7

h به سازنده مراجعه شده و بررسی می مشکالتی داشته باشد ، مجدداشود.

Page 14: تجزیه و تحلیل و مدلسازی سیستم

3فصل

Page 15: تجزیه و تحلیل و مدلسازی سیستم

روال های اصلی و روال های جانبی تولید نرم افزار :. مدیریت پروژه : جزء کارهای اصلی نیست ولی پروژه حتما 1

باید مدیریت شود.. روال مدیریت تغییرات : مدیریت پیکربندی هدف: ایجاد یک 2

روال که تغییرات به صورت منظم و مدون باشد.. روال مدیریت خود روند تولید: خود روندهای تولید نیز ممکن 3

است در سیر زمان نیازمند تغییر باشند و باید هر جای آن را که ایراد داشت عوض یا اصالح کنیم.

خط تولید فرعی دارد.3* هر نرم افزار یک خط تولید اصلی و

هر نرم افزار دارای یک : Business Modelsمدل تجاری سری قواعد و اصول است. به قواعد و قوانینی که سیستم در

حالت فعلی دارد، مدل تجاری می گویند.

Page 16: تجزیه و تحلیل و مدلسازی سیستم

Environment : نیازمندیهای محیطی جهت اجرا یا پیاده سازی نرم افزار تولید شده ، مثل

نیازمندی های سخت افزاری و تعیین کاربرانی که قرار است با آنها کار کند.Process Models: روال های تولید نرم افزار

: وقتی تغییری انجام liner process model. روال های تولید خطی 1دادیم و طراحی کردیم دیگر قادر به بازگشت به مرحله ی قبل و تغییر در

آن نیستیم.waterfall model- روال آبشاری 1.1

1.2- prototyping

. روال های تولید آزمایشی یا تکراری :2- روال افزایشی2.1 - روال مارپیچی 2.2 - روال معرفی گرا2.3

روال های تولید یک نرم افزار سبک : .XPروال هایی که در حین تولید مستندات زیادی تولید نمی کنند مثل

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

Page 17: تجزیه و تحلیل و مدلسازی سیستم

در روال های تولید نرم افزار به صورت خطی دو روال نقِش عمده دارند:

. مدل آبشاری 1.1: ( Sequential. روال خطی )1waterfall

. مدل اجرایی 1.2 prototype

: فرایند تولید یک Iterative. آزمایشی یا چرخشی 2سویه یا خطی نیست بلکه یک فرایند چرخشی است.

اولین روال تولید )روال آبشاری(:

. شناخت وضع موجود و نیازمندیها1

. طراحی 2

. مرحله ی برنامه سازی 3

Page 18: تجزیه و تحلیل و مدلسازی سیستم

اشکاالت روال آبشاری:

. در صورت وجود ایراد، قادر به بازگشت و اصالح 1نیستیم.

. اگر نیازمندیها در محیط تغییر بکنند، قادر به تغییر و 2اصالح تغییرات نیستیم. تحلیل شده، به فاز طراحی رفته ، ولی نیازمندیها عوض شده یا بیشتر شده اند.

. کاربر تا انتهای کار، نسخه ای اجرایی نمی بینید. کاربر 3برای دیدن یک کد باید تا انتهای کار منتظر بماند چون

تا برنامه تست نشود، تحویل کاربر نمی شود.

Prototype اصالح شده ی ، waterfall.است

وسط کار، نسخه ای اجرایی برای تست prototypeدر تحویل کاربر می شود و طبق نیازهای کاربر، بقیه ی

کار انجام می شود.

Page 19: تجزیه و تحلیل و مدلسازی سیستم

:iterativeروال چرخشی یا

: روش خوبی است. incremental. افزایشی 1مناسِب پروژه های سبک است.

: روال سنگینspiral. مارپیچی 2

component base. مؤلفه گرا 3

4 .RUPروال سنگین

5 .XPروال سبک

مزایای روش های تولید چرخشی:

. امکان اعمال تغییرات در نیازمندیها1

. اتصال قطعات مختلف نرم افزار به صورت 2

Page 20: تجزیه و تحلیل و مدلسازی سیستم

. کاهِش ریسک3

. امکان یادگیری و آموزش نرم افزار به صورت مرحله 4ای

. باال بردن کیفیت محصول )چون در مراحل مختلف 5خطاها گرفته نمی شوند.(

)مارپیچی(:Spiralمدل

در م دل م ارپیچی فراین د تولی د ن رم اف زار ب ه تع دادی ناحی ه تقس یم می ش ود ک ه این تع داد و ش رح وظ ایفی ک ه در ه ر ناحی ه از آنه ا انج ام می ش ود ، ب ه عه ده ی

h ن واحی بین 6 ت ا 3م دیر پ روژه می باش د. ام ا معم وال h ناحی ه تعری ف می ش وند. در چرخ ه ه ای درونی ، معم والتمرک ز بیش تر ب ر روی ش ناخت و تحلی ل نیازمندیهاس ت و برنام ه روی ب ر بیش تر تمرک ز ب یرونی ه ای در چرخ ه

سازی و تست است.

Page 21: تجزیه و تحلیل و مدلسازی سیستم

:Component baseمدل مؤلفه گرا یا

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

ویژگیها:

ه ای component. در این تفک ر تأیی د ب ر اس تفاده از 1از قب ل آم اده اس ت. اگ ر ب رای قس متی از ن رم اف زار ،

component نوش ته ش ده توس ط ، چ ه این آم اده خودم ان و چ ه در ب ازار ن رم اف زار پی دا نش د، اق دام ب ه

جدی د می ک نیم. ام ا ب ا این تفک ر componentتولی د ب ه ص ورت ج امع و ک املی تولی د componentک ه آن

اس تفاده قاب ل ن یز بع دی ه ای پ روژه ب رای ک ه ش ود باشد.

Page 22: تجزیه و تحلیل و مدلسازی سیستم

الگوی انتخاب روال تولید:

مواردی که در الگوی انتخاب روال تولید می تواند مؤثر باشد ، عبارتند از:

. سایز و پیچیدگی پروژه1

. تجربه ی تیم پروژه از لحاظ قابلیت های فنی و 2آشنایی با حیطه ی مورد نظر

. زمان و هزینه ی در اختیار3

:process tailoringسفارشی کردن روند

روال های تولید قالِب کلی روند انجام کار را برای ما مشخص می کند. اما انتخاب جزئیاتی از قبیل ساختار مستندات ، نحوه ی طراحی ، نحوه ی برنامه سازی

و ... به صورت کامل در آنها تعریف نمی شود.

Page 23: تجزیه و تحلیل و مدلسازی سیستم

منظ ور از سفارش ی ک ردن رون د تولی د تع یین کلی دی ، تحلی ل ی نح وه ، مس تندات س اختار ش امل ، نک ات

نحوه ی طراحی و .. می باشد.

افت د. اتف اق می در دو س طح این سفارش ی ک ردن .micro و macroسطح

مرب وط ب ه ی ک گ روه ی ا ش رکت تولی د macro س طح کنن ده ی ن رم اف زار ب وده و در آن کلی ه ی اس تانداردهای

مورد نظر آن گروه یا شرکت تعریف می شود.

ب ا توج ه ب ه micro س طح h ب رای ه ر پ روژه و معم والماهیت آن پروژه تعیین می شود.

Page 24: تجزیه و تحلیل و مدلسازی سیستم

4فصل

Page 25: تجزیه و تحلیل و مدلسازی سیستم

جمع آوری نیازمندیها و تحلیل سیستم :

ف از تولی د ه ر ن رم اف زار ب ا مرحل ه ای ب ه ن ام تعری ف مسئله شروع می شود.

م دل و محی ط ش ناخت مس ئله تعری ف از منظ ور ب ه آن نیازمن دیهای و نظ ر م ورد سیس تم عملک ردی مس ئله تعری ف ی مرحل ه در باش د. می کلی ص ورت نیازمن دیهای مش تری ن یز مش خص می ش ود. پس از ف از

تعریف مسئله ، فاز تولید سیستم آغاز می گردد.

:System Analysisتحلیل سیستم

منظ ور از تحلی ل سیس تم ، مش خص ک ردن ویژگیه ای مرحل ه این در و باش د می آن س اختار و سیس تم

فعالیتهای زیر انجام می شود.

. شناسایی و تحلیل نیازهای مشتری 1

Page 26: تجزیه و تحلیل و مدلسازی سیستم

. ارزیابی سیستم به منظور امکان سنجی آن 2

ب ه توج ه ب ا سیس تم آی ا اینک ه : س نجی )امک ان قاب ل تکنول وژیکی و اقتص ادی ، زم انی مح دودیتهای

اجرا هست یا نه.(

.انجام تحلیل های اقتصادی و تکنیکی3

4 ، ه ا داده پایگ اه ، انس انی ن یروی ک ردن مش خص .نی از م ورد اج زاء و س ایر اف زار ن رم و اف زار س خت

برای راه اندازی سیستم

هزین ه 5 و ری زی برنام ه مح دودیتهای ک ردن . مش خص های سیستم

ی ا مس تند ک ه ش امل س اختار و 6 تهی ه ی ی ک گ زارش .تعاریف کلی سیستم و مراحل تولید آن می باشد.

Page 27: تجزیه و تحلیل و مدلسازی سیستم

(:Feasibilityامکان سنجی )

منظ ور از امک ان س نجی کن ترل این نکت ه اس ت ک ه ب ه مح دودیت ه ای موج ود، سیس تم از ب ا توج ه لح اظ پی اده س ازی ، امک ان پ ذیر و قاب ل قب ول می باش د و ی ا پی اده س ازی آن میس ر نیس ت؟ ب دیهی اس ت پس از این مرحل ه مش خص می ش ود ک ه بایس ت قط ع ی ا می یاب د ادام ه توان د پ روژه می

گردد.

Page 28: تجزیه و تحلیل و مدلسازی سیستم

زمان انجام فعالیت امکان سنجی:

زم ان انج ام فع الیت امک ان س نجی پس از مرحل ه ن رم تولی د از س ایر مراح ل ی ش ناخت و قب ل

افزار می باشد.

Feasibility Study – Phases مراحل امکان سنجی:

. تحلیل نیاز1

. امکان سنجی اقتصادی2

. امکان سنجی تکنیکی3

. امکان سنجی قانونی4

. ارزیابی گزینه ها5

Page 29: تجزیه و تحلیل و مدلسازی سیستم

Need Analysis تحلیل نیاز:

h اص وال آی ا ک ه ک نیم بایس ت مش خص می مرحل ه این در ن ی ازی ب ه ت ولی د ی ک سیس تم ج دی د وج ود دار د ی ا خ یر؟ در این راس تا می بایس ت مطالع ات و عملی ات زی ر انج ام

شود:

. ش ناخت تاریخچ ه و اطالع ات زیربن ایی س ازمان مشتری1

. درک نیازمندیها و مشکالت مشتری2

. آشنایی با چارت سازمانی و شرح وظایف3

Economic Feasibility امکان سنجی اقتصادی

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

س نجی اقتص ادی مثبت ب وده و قاب ل پی اده س ازی اس ت.

Page 30: تجزیه و تحلیل و مدلسازی سیستم

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

یا متناوب از قبیل اجاره ی محل نیز لحاظ گردد.

Technical Feasibilityامکان سنجی تکنیکی

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

می بایست مد® نظر قرار گیرد.

Page 31: تجزیه و تحلیل و مدلسازی سیستم

Legal Feasibilityامکان سنجی قانونی

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

سیستم های کوچک و ساده، مورد نیاز نیست.

Page 32: تجزیه و تحلیل و مدلسازی سیستم

ارزیابی گزینه ها

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

انتخاب و به مشتری پیشنهاد می دهد.

گزارش امکان سنجی

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

شود.

Page 33: تجزیه و تحلیل و مدلسازی سیستم

Project Proposalپیشنهاد پروژه

ی ا پ روژه ی ا proposalشناس نامه مس تند ی ک گ زارش می باش د ک ه در آن اطالع ات ج امع و ک املی در ارتب اط ب ا پ روژه از ط رف پیمانک ار ب ه

مشتری یا کارفرما ارائه می شود.

ام ا در به ترین ح الت مش تری ن یز گزارش ی قب ل از ی ا proposalآن ب ه ن ام گ زارش درخواس ت ب رای

Request For Proposal )RFP( آم اده می کن د ک ه درداده ش رح را خ ود نیازمن دیهای و مس ائل آن

در proposal hاس ت. معم وال زی ر اطالع ات وجود دارد.

Page 34: تجزیه و تحلیل و مدلسازی سیستم

. تق ویم اولی ه ی زم ان بن دی انج ام پ روژه )زم ان بن دی در 1ادامه ی کار ممکن است دچار تغییر شود.(

. محدوده، ساختار و سرویس های کلی پروژه2

. زمان بندی و توالی انجام مراحل پروژه3

h این زم ان بن دی و مراح ل می بایس ت ب ر مبن ای م دل طبیعت اprocess.ارائه شود

. مش خص ک ردن هزین ه ه ای س خت اف زاری، ن رم اف زاری و 4نیروی انسانی.

محت وای 5 و )تع داد آموزش ی نیازه ای ک ردن مش خص .آموزش(

. مشخص کردن هزینه ی کلی پروژه 6

. ذکر مزایا و امکانات پروژه7

Page 35: تجزیه و تحلیل و مدلسازی سیستم

Requirements analysisتحلیل نیازمندیها

بع د دو از ت وان را می نیازمن دیها تحلی ل از منظ ور مورد بررسی قرار داد.

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

( گفت ه می ش ود و در business modelتج اری ی ا بع د دوم ش ناخت نیازمن دیها انج ام می ش ود. ک ه ب ه این

گفت ه می request modelم دل،م دل نیازمن دیها ی ا شود.

م دلها در دنی ای ن رم اف زار ب ه دو ش کل کلی س اخت ( object oriented( و ش یء گ را )structureیافت ه)

ساخته می شود.

Page 36: تجزیه و تحلیل و مدلسازی سیستم

م دلهای س اخت یافت ه ک ه در ح ال حاض ر کم تر در تولی د ی ا روش ی گی رن د ق را ر می اس تفا ده م ور د ه ا سیس تم

SSADM)Structured System Analysis andتح ت عن و ان

Design( .ساخته می شود

ام ا م دلهای تحلی ل و ط راحی ش یءگرا در ح ال حاض ر مدلس از ی ز بانه ای h توس ط ی ا UMLغ الب ا Unified Modeling

Language .ساخته می شود

ف ارغ از ن وع م دل پس از تکمی ل مرحل ه ی تجزی ه تحلی ل گزار ش ی ارا ئ ه ش ده ک ه در آ ن گ زار ش ک لی ه اطالع ات م راح ل تحل ی ل ب ه ه م ر اه م د ل ه ا ب ه ک ار فر م ا ارائ ه ش ده از مط ا لع ه ی آن می تو ان د نظ رات و و کا ر ف ر م ا پس م کند. پی شنهادا ت ا صالحی خود ر ا به تولید کنندگا ن اعال

Page 37: تجزیه و تحلیل و مدلسازی سیستم

SSADM

)نمودار متن(Context Diagramاولین مدل:

ط راحی و تحلی ل اول SSADMدر ی مرحل ه در context diagram نم ودار در ش ود. می س اخته

DFD از موج ودیت ه ای تولی د کنن ده و مص رف کنن ده داده می نش ان ب ا ش کل مس تطیل ک ه اطالع ات ی

ی ا پ ردازش و دای ره processش ود از ش کل ک ه اس تفاده می ش ود و جری ان داده ک ه از فلِش ی ا پیک ان ب رای ذخ یره س ازی رس انه ی و اس تفاده می ش ود

داده که از شکل

اس تفاده می ش ود س اخته شده است.

Page 38: تجزیه و تحلیل و مدلسازی سیستم

، مرحل ه ی تجزی ه پیچی ده ب زرگ و برای سیس تم ه ای h در ی ک س طح ی ا ی ک DFDتحلی ل و نموداره ای معم وال

level مرحل ه ه ر در ت وان می و ش وند نمی کش یده جزئیات بیشتری از پروسس ها و داده را نشان داد.

در مرحل ه ی ط راحی ، می بایس ت ب ا اس تفاده از آخ رین آوریم. DFDس طح دس ت ب ه را سیس تم س اختار ه ا

س اخت م دل در سیس تم معم اری س اختار از منظ ور یافته، ماژول ها و ارتباط بین آنهاست.

ه ا را ب ه Bubbleدر این مرحل ه می بایس ت دای ره ه ا ی ا توان د می تب دیل این دهیم.ام ا اختص اص ه ا م اژول همیش ه تب دیل ی ک ب ه ی ک نب وده و در بعض ی اوق ات ی ک

ی ا چن د bubbleدای ره ب رعکس ی ا م اژول چن د ب ه bubble.به یک ماژول تبدیل شوند

Page 39: تجزیه و تحلیل و مدلسازی سیستم

تکنیکهای جمع آوری اطالعات در مرحله تجزیه تحلیل:

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

گیرد.

Page 40: تجزیه و تحلیل و مدلسازی سیستم

تحلیل نیازمندیها:

h فعالیتهای زیر انجام می شود: در این مرحله معموال

. درک دامنه و حوزه ی اطالعاتی سیستم 1. مشخص کردن قابلیتها و امکانات مورد نیاز سیستم.2. ساخت یک مدل برای نمایِش اطالعات فوق )همانند 3

، usecase و یا مدلهای SSADM در DFDمدل activity diagram و ... در مدل UML)

. تفکیک و شکستن مدل طی مراحلی به مدلهای 4تفصیلی تر .

. همواره باید در مرحله ی تجزیه تحلیل از اطالعات 5کلی ، مرحله به مرحله به اطالعات تفصیلی یا جزئی

رسید.

Page 41: تجزیه و تحلیل و مدلسازی سیستم

Essential Modelمدلهای اساس ی در تجزی ه تحلی ل سیس تم

Environmental Model. مدل محیطی 1

Behavioral Model. مدل رفتاری 2

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

نیروی انسانی می باشد را مدل می کنیم.

ی ک نمون ه از م دلهای Context Diagramنم ودار متن ی ا م حیطی اس ت. در م دلهای ر فت اری م ا عملک ر د ی ک س یس تم ر ا ب ه هم را ه ی ک س یس ت م عن اص ر مختل ف بین ا رتب اط و

د ا ده های مور د ا س تفا ده در سیستم مدل می کنی م.

نم ودار DFDنم ودار و ERD رفت اری م دلهای نمون ه از است.

Page 42: تجزیه و تحلیل و مدلسازی سیستم

5فصل

Page 43: تجزیه و تحلیل و مدلسازی سیستم

System Engineering

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

محصول یا سرویس و یا تکنولوژی.

در مهندسی سیستم دو محور را می بایست مد® نظر داشت:

. مهندسی اطالعات 1

. مهندسی محصول2

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

وجود دارد.

منظور از مهندسی محصول ، آشنایی با ویژگی ها و نیازمندیهای محصولی است که می بایست تولید شود.

Page 44: تجزیه و تحلیل و مدلسازی سیستم

ی ا سیس تم مهندس ی دو system engineeringدر ( پ ایین ب ه ب اال الگ وی دارد. الگ و وج ود ی ا Topراهک ار

Down( ب اال ب ه پ ایین الگ وی و )Bottom Up در .)بعض ی از حالته ا می ت وان از این دو روش ب ه ص ورت

همزمان استفاده کرد.

Data Modeling مدلسازی داده ها:

منظ ور از مدلس ازی داده ه ا ش ناخت داده ه ای اص لی د ر ی ک سیس تم و اج زا ی س ازنده ی آن و ا رتب اطت بین

h از غالب ا ه ا د اده م دل نم ایِش ب ر ای با ش د. م ی آنه ا نم ودار ن ام ب ه )ER )Entity Relationshipن م ودار ی

استفاده میشود.) ارتباط بین موجودیتها(

ب ا نم ودار موجودیته ا این نم ایِش boxدر ی ا مس تطیل داده می شود.

Page 45: تجزیه و تحلیل و مدلسازی سیستم

هر موج ودیت می توان د دارای ویژگیه ایی باش د ک ه آن ویژگیه ا را در داخ ل ی ک بیض ی نوش ته و ب ا ی ک خ ط ب ه آن موج ودیت متص ل می ک نیم. وی ژگی یکت ا و ی ا ب ه عب ارت دیگ ر کلی د اص لی موج ودیت را ب ا ی ک خ ط مش خص می

کنیم.

بین ارتب اط موجودیته ا، ی کلی ه ش ناخت از پس موجودیته ا را تش خیص می دهیم و ه ر دو موجودی تی ک ه ب ا یک دیگر ارتب اط دارن د را ب ا ی ک خ ط ب ه یک دیگر متص ل می ک نیم. می ت وان توض یحاتی ن یز ب رای ارتب اط در کن ار

خط یادداشت کرد.

کمیت دارای توان د می موجودیته ا بین ارتب اط cardinality ی ک ب ه ی ک ، ی ک ب ه چن د و چن د ب ه چن د ب ه

چند باشد.

Page 46: تجزیه و تحلیل و مدلسازی سیستم

Modality:)اختیاری بودن(

این اس ت ک ه آی ا ارتب اط ب ه ص ورت Modalityمنظ ور از همیش گی وج ود دارد و ی ا در بعض ی از ش رایط می توان د

ارتباط بین دو موجودیت وجود داشته باشد.

از ه ر دو ط رف Modalityاگ ر ارتب اط همیش گی باش د نباش د از ی ک ط رف 1 و از 1 اس ت ولی اگ ر همیش ه

در اش تراک داش تن )مث ل اس ت. ص فر دیگ ر ط رف آژانس.(

Page 47: تجزیه و تحلیل و مدلسازی سیستم

(:Data Dictionaryدیکشنری داده ها )

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

نموداره ا آن ب ر عالوه باش د. و ERدیگ ر س اختار و اطالع ات تفص یلی پایگ اه داده ه ا ن یز در این مس تند ق رار

می گیرد.

Page 48: تجزیه و تحلیل و مدلسازی سیستم

6فصل

Page 49: تجزیه و تحلیل و مدلسازی سیستم

Designing the System

طراحی سیستم:

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

فاز برنامه سازی را آغاز نماییم.

سیس تم ط راحی ب رای مناس بی تعری ف بخ واهیم اگ ر ارائ ه دهیم، ط راحی عب ارت اس ت از اس تفاده از تکنیکه ا

و اصول مختلف برای ساخت یک محصول.

Page 50: تجزیه و تحلیل و مدلسازی سیستم

سیس تم: ط راحی Steps in the Design مراح ل Process

. طراحی معماری سیستم 1

. طراحی واسط های سیستم2

. طراحی جزئی یا تفصیلی سیستم 3

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

سیستم و نحوه ی ارتباط و اتصال آنها مشخص شود.

ش امل مرحل ه این یافت ه س اخت ط راحی روش در ط راحی در و آنه ا بین ارتب اط و ه ا م اژول ش ناخت

شیءگرا شامل شناخت کالسها و ارتباط بین آنهاست.

Page 51: تجزیه و تحلیل و مدلسازی سیستم

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

ی ا واس ط ک اربر ن یز ج زئی از ط راحی واس ط UIط راحی هاس ت و در مرحل ه ی آخ ر مرحل ه ی ج زئی و تفص یلی س اختار ه ر ی ک از قطع ات س ازنده ی سیس تم )در م ورد س اخت یافت ه، م اژول ه ا و در م ورد ش یءگرا کالس ها می ب ه ص ورت اج زای سیس تم از ی ک ه ر باش د.( س اختار

تفصیلی مشخص می شود.

Key Issues in theنک ات کلی دی و مهم در ط راحی سیس تم : Design Process

h ی ک روال تک راری اس ت و 1 . ط راحی سیس تم ، معم والh در یک مرحله به صورت کامل انجام نمی شود. غالبا

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

نماییم.

Page 52: تجزیه و تحلیل و مدلسازی سیستم

Design Principlesبرخی از این معیارها عبارتند از :

. اجتناب از دید محدود یا بسته1

. انج ام ط راحی ب ه ص ورتی ک ه قاب ل پیگ یری از روی 2مدل نیازمندیها باشد.

. ع دم اخ تراع مج دد چ رخ . یع نی ح تی االمک ان از ن رم 3 های آماده استفاده کنیم.componentافزارها یا

4 ( واح د الگ وی ی ک از ب رای uniform.اس تفاده )طراحی

. حداالمکان استفاده از مدلهای قابل فهم در طراحی5

مش کالت 6 از ک ه ص ورتی ب ه ط راحی س ازی پی اده .ناگهانی حتی االمکان اجتناب شود.

Page 53: تجزیه و تحلیل و مدلسازی سیستم

مفاهیم مهم در طراحی :

د یا 1 abstraction. تجر®

Abstraction ®را می توان در دو بعد داده ها و برنامه ها مد نظر داشت.

information hiding. پنهان سازی داده ها 2

پنهان سازی داده ها یک اصل است و مطابق آن، طراحی مناسِب ، طراحی ای است که هر برنامه در آن فقط به داده

های مورد نیاز خود دسترسی دارد.

3 .Modularity)ماژوالریتی )پیماه ای بودن

منظور از ماژوالریتی این است که وظایف یک سیستم و امکانات آن به چه صورت به ماژولها تخصیص یابد. در این

وجود دارد cohesion و couplyingارتباط دو مقوله ی مهم که در ادامه به آن می پردازیم.

control hierarchy. ساختار سلسله مراتِب کنترلی 4

Page 54: تجزیه و تحلیل و مدلسازی سیستم

Couplingارتباط بین ماژول های یک سیستم

coupling و cohesion دو معی ار اص لی در ط راحی سیس تم می باشد.

، حجم ارتب اط بین ماژوله ا دری ک سیس تم couplingمنظ ور از . کم تر باشدcouplingاس ت و در ط راحی م ناس ِب به تر اس ت ،

)از بهترین به بدترین(:couplingانواع

1 .Data coupling )اتصال بر مبنای داده )بهترین نوع

، اتص ال بین دو م اژول ب ا ان واع داده ای Data couplingدر پایه ای انجام می شود.

2 .Stamp coupling ن وع این ی ک س اختار couplingدر ، از م اژول فرا خوان ن ده ب ه link listداده ای م ر کِب نظ یر آر ای ه ی ا

h را فراخ وان ی می کن د a ، bم اژو ل ارس ال می ش ود. )یع نی مثالتا یک کلمه را برایِش ارسال کند.(

Page 55: تجزیه و تحلیل و مدلسازی سیستم

3 .Control coupling:

پ ارامتر کن ترلی ی ک بین دو م اژول، ب دل ش ده پ ارامتر رد® و این ح الت در است.

if ، switch منظ ور از داده ی کن ترلی، داده ای اس ت ک ه در عب اراتی نظ یر از آن ا ستفاده می شود.whileیا حلقه ی

4 .Common coupling:)کاپلینگ مشترک(

ی ا عم ومی در ن رم اف زار اس تفاده می publicدر این ح الت از داده ه ای دیگ ر دا ده ه ای مش ترکی ک ه م اژ ول ه ای مختلفی می ش و د. ی ا ب ه ع ب ارت

توانند از آن استفاده کنند.

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

5 .Cohesion:چسبندگی

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

ان جام دهد. (

Page 56: تجزیه و تحلیل و مدلسازی سیستم

Types of Cohesion عبارتند از : cohesionانواع

1 .Coincidental cohesion:چسبندگی تصادفی

هیچ ک ه ده د می انج ام را مختلفی کاره ای م اژول اینج ا در ارتباطی با هم ندارند.

2 .Logical cohesion:چسبندگی منطقی

در این ح الت م اژول کاره ای مختلفی را انج ام می ده د ک ه از h م اژو ل م ا ا نتخ اب واح د لح اظ منطقی ب ا ی ک دیگ ر مرتبطن د. )مثالدان ش جو را ثبت می کن د و س وابق تحص یلی د انش جو را لیس ت

می کند.( ) ثبت ورود و خروج و محاسبه ی اضافه ک اری(

3 .Temporal cohesion:چسبندگی موقت

ک ه ده د انج ام می را کاره ای مختلفی م اژول این ح الت در وج ه ارتب اطی آنه ا ای ن ا س ت ک ه هم ه بای د در ی ک مقط ع زم انی

ان جام شود .) ا نتخاب واح د ، پر داخت پول و ت سویه حس اب(

Page 57: تجزیه و تحلیل و مدلسازی سیستم

4 .Communication cohesion:چسبندگی ارتباطی

در این حالت ، ماژول کارهای مختلفی را انجام می دهد که در حین آن h مشترک هستند. کارها از داده هایی استفاده می کند که بعضا

5 .Sequentialچسبندگی ترتیبی

ماژول کارهای مختلفی را انجام می دهد که همه ی آنها باید به صورت سریال یا پشت سر هم انجام شود.

6 .Informational

در این حالت، ماژول کارهای مختلفی را انجام می دهد که وجه ارتباط آنها در این است که همه بر روی ساختارهای داده ای مشترک انجام می

شود.

7 .Functional چسبندگی تابعی

بهترین حالت می باشد و در اینجا ماژول فقط یک کار واحد انجام می دهد.

هر دو به حالت ایده آل ممکن نیست.cohesion و couplingرساندن

Page 58: تجزیه و تحلیل و مدلسازی سیستم

طراحی تفصیلی سیستم:

ای پای ه عناص ر ط راحی ، سیس تم تفص یلی ط راحی از منظ ور ی ا س ا خت structuredس از نده ی ه ر سیس تم می باش د. در روش

ه ا و در procedureه ا ، functionی افت ه، ای ن ع ناص ر عبا رتن د از : ه ا ک ه در دا خ ل آنه ا classط راحی ش یءگ را ای ن ع ناص ر ع بارتن د از :

function و procedure ابز اره ای ب رای ط راحی تفص ی لی د اری م. متف اوت ی وج ود دارد ک ه دو ت ا ا ز م هم تری ن آنه ا ع ب ارتن د ا ز فلوچ ارت و

و یا شبه کد. seudo codeس ودوکد

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

ب ا ع ب ا راتی نظ ی ر procedureط راح ،ط ر اح ی فانک ش ن ه ا و ه ا را پ ی اده انج ا م می د ه د و د ر مرحل ه ی زب ا ن برنا م ه نوی س ی سیس ت م س ازی بر ن ام ه س از ب ا مش اهد ه ی ش ب ه ک د ها، ک د نه ایی را د ر محی ط

مربوطه می نویسد.

Page 59: تجزیه و تحلیل و مدلسازی سیستم

7فصل

Page 60: تجزیه و تحلیل و مدلسازی سیستم

:Software Configurationمدیریت پیکربندی نرم افزار

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

روال IEEEتعری ف : از اس ت عب ارت اف زار ن رم پیکربن دی م دیریت از ه ای سیس ت م )ش ام ل متن برنام ه، مس تندات itemشناس ایی و ت عری ف کلی ه ی

و داده ها.(

کن ترل تغی یرات این آیتم ه ا در چرخ ه ی زندگیش ان ثبت و ذخ یره ی کلی ه ی آی تم ها و ک نترل صحت ت غییرات انجا م شده می باشد.

قس متهای مختل ف ن رم اف زار ک ه می بایس ت در م دیریت پیکربن دی م د® نظ ر قرار گیرند عبارتند از:

. مشخصات گزارشات سیستم1

. برنامه ریطی انجام پروژه2

. گزارش تحلیل نیازمندیها3

. گزارش راهنمای کاربران4

Page 61: تجزیه و تحلیل و مدلسازی سیستم

. گزارش طراحی5

. متن برنامه های سیستم 6

. گزارش ویژگیهای تست7

. گزارش نصِب و راه اندازی سیستم8

. برنامه های اجرایی9

. شرح پایگاه داده10

. راهنمای کاربران11

. گزارشات نگهداری12

. استانداردها و روال های مهندسی نرم افزار13

و ...

Page 62: تجزیه و تحلیل و مدلسازی سیستم

The SCM process:

ها ی موجود در سیستمitem. شناسایی اشیاء یا 1

. مشخص کردن قوانین نسخه بندی2

. کنترل اعمال تغییرات 3

. کنترل اعمال تغییرات انجام شده از لحاظ کیفیت4

. گزارش گیری 5

Page 63: تجزیه و تحلیل و مدلسازی سیستم

Change Control

Accept Change request

Evaluate Change request on the given parameters

Present the Change report

Use the Change report to make a final decision on status and priority of change

Generate ECO for each approved change

Check CI out of project database

Change the CI as required

Check CI into project database

Perform necessary SQA activities

Use appropriate version control mechanisms to create next version of the software

Page 64: تجزیه و تحلیل و مدلسازی سیستم

کنترل تغییرات

پذیرش درخواست تغییر

ارزیابی درخواست تغییر در پارامترهای موجود

ارائه ی گزارش تغییر

استفاده از گزارش تغییر برای اخذ تصمیم نهایی

بر روی وضعیت و اولویت تغییر

خارج کردن آیتم مورد نظر از انباره ی پروژه

برای انجام تغییرات تأیید شده

بررسی آیتم جهت تغییر

خارج از انباره ی پروژه

انجام تغییرات مورد نیاز بر

روی آیتم مورد نظر

بازگردان آیتم تغییر یافته به

انباره ی پروژه

انجام عملیات کنترل کیفیت الزم

اختصاص نسخه یا ورژن جدید برای آیتم تغییر

یافته

Page 65: تجزیه و تحلیل و مدلسازی سیستم

. دریافت و درخواست تغییر1

. بررسی گزارش تغییر از لحاظ پارامترهایی نظیر مسائل فنی 2و هزینه و زمان آن

. ساخت گزارش تغییر توسط شخص یا تیم مربوطه3

. تعیین انجام یا عدم انجام تغییر و اولویت آن توسط مدیریت4

. خارج کردن آیتم مورد نظر برای تغییر از انباره ی پروژه 5( یا فیزیکی)گزارش((hard)الکترونیکی )

. اعمال تغییرات روی آیتم مورد نظر6

. انجام عملیات کنترل کیفیت الزم7

. بازگرداندن آیتم به انباره ی پروژه 8

( جدید برای آیتم تغییر version. اختصاص نسخه یا ورژن )9یافته.

Page 66: تجزیه و تحلیل و مدلسازی سیستم

)انباره ی مدیریت پیکربندی(SCMانباره ی

مح ل ف یزیکی و الک ترونیکی اس ت SCMمنظ ور از انب اره ی ک ه در آن کلی ه ی اطالع ات پ روژه نگه داری می ش ود. ب دیهی اس ت این مح ل می بایس ت مقی اس پ ذیر ، قاب ل اطمین ان ، در

دسترس و شفاف باشد.

:SCMابزارهای

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

مهمترین این ابزارها عبارتند از :

1 .Configuration Management Assistant

2 .Adele

Page 67: تجزیه و تحلیل و مدلسازی سیستم

8فصل

Page 68: تجزیه و تحلیل و مدلسازی سیستم

فاز نگهداری :

فاز نگه داری آخ رین مرحل ه چ رخِش زن دگی ه ر ن رم اف زار می باش د و پ س از نص ِب و ر اه ان دازی ن رم اف زار ، آغ از و ت ا ان ت ه ای اس تفاده از

نرم افزار ادامه می یابد.

Maintenance:

فعالیته ایی اس ت ش امل ارتق اء )ب اال ب ردن سرویس های آن(، تط ابق ی ا adapting ی ا اص الح و correcting باش د.) برط رف ک ردن می مشکالت(

3 ی ا ف از نگه داری هس تند ب ه maintenanceان واع مش کالتی ک ه در دسته تقسیم می شوند:

1 .Emergency fix)اصالحات اضطراری(

، سیس تم ک ار در ک ه هس تند مش کالتی ، مش کالت از دس ته این اختالالت ج د®ی ب ه وج ود آورده و می بایس ت در اس رع وقت برط رف

شوند.

Page 69: تجزیه و تحلیل و مدلسازی سیستم

2 .Urgent fix)اصالحات ضروری(

h می بایس ت در سیس تم برط رف ش ود ام ا این دس ته از مش کالت ن یز حتم احا ت ض روری باشد.سر ع ت بر طرف ک ردن آنها م ی تو اند دی ر تر از اصال

3 .Nice to have fix)اصالحات ارجح یا مناسِب(

این گون ه اص الحات ی ا تغی یرات به تر اس ت در سیس تم انج ام ش ود. ام ا اولویت زمانی برای انجام آنها باال نمی باشد.

مشکالت مرحله ی نگهداری :

:Dynamic personnel. وجود پرسنل دینامیک 1

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

2 .Motivation and morale

3 .Lack of documentation

Page 70: تجزیه و تحلیل و مدلسازی سیستم

4. Pathy code )ع دم یکپ ارچگی ک د)قطع ه قطع ه ب ودن آن

5 .Outdated or obsolete technology از اس تفاده تکنولوژی از رده خارج

6 .Round-the-clock operation س اعته ی ا 24 فع الیت ه ای شبانه روزی

Maintenance Metrics:

1 .System availability

2 .Maintenance turnaround

3 .Productivity

حجم ن رم اف زاری اس ت ک ه در مرحل ه Productivityمنظ ور از در یک مقطع زمان ی تو لید می ش ود.maintenanceی

Page 71: تجزیه و تحلیل و مدلسازی سیستم

Key Factors affectingنک ات کلی دی در مرحل ه ی نگه داری Maintenance

. متوس ط زم انی ک ه ی ک ش خص در طی آن می توان د ب ا 1سیستم آشنا شود.

. وجود یا عدم وجود مستندات مناسِب2

نکت ه ک ه ه ر فع الیت موج ود در 3 این . در نظ ر گ رفتن maintenance ب اعث ک اهِش عم ر مفی د ن رم اف زار می

شود.

Page 72: تجزیه و تحلیل و مدلسازی سیستم

9فصل

Page 73: تجزیه و تحلیل و مدلسازی سیستم

پیاده سازی نرم افزار :

منظ ور از پی اده س ازی ، انتق ال ن رم اف زار پس از تکمی ل آن ب ه سایت اصلی و راه اندازی آن است.

فعالیتهایی که در حین راه اندازی هستند:

. آماده کردن برنامه نصِب1

. انجام روال های عملیاتی الزم 2

. آماده سازی و تبدیل داده ها3

. آموزش کاربران4

. راه اندازی سیستم5

Page 74: تجزیه و تحلیل و مدلسازی سیستم

. آماده کردن برنامه نصب :1

در این مرحله عملیات عبارتند از :

. خرید سخت افزار 1

. آماده سازی سایت2

اج را الزم 3 زم ان در ک ه افزاره ایی )ن رم ج انبی افزاره ای ن رم خری د .هستند.(

. نصِب نرم افزار تولید شده4

. آموزش کاربران5

. انجام روالهای عملیاتی الزم:2

. به تر اس ت در هنگ ام تولی د ن رم اف زار ک اربران از ابت دا ب ه ص ورت مرحل ه 1بندی شده با سیستم آشنا شوند.

. آم وزش و آش نایی ک اربران ب ا سیس تم جدی د بای د ب ه ص ورت مرحل ه بن دی 2شده انجام شود.

Page 75: تجزیه و تحلیل و مدلسازی سیستم

. مراحل تبدیل داده ها:3

. لیست کردن کلیه ی فایلهایی که می بایست تبدیل 1شوند.

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

. لیست کردن کلیه ی مستندات برنامه هایی که در 3حین تبدیل داده مورد نیاز است.

. مشخص کردن کنترلهایی که در روند انتقال داده ها 4می بایست اعمال شوند.)کنترل جامعیت(

. آماده کردن برنامه ی انتقال داده.5

. مشخص کردن کارهایی که باید در حین انتقال داده 6انجام شود.

Page 76: تجزیه و تحلیل و مدلسازی سیستم

:User Training. آموزش کاربران 4

آموزش کاربران در دو سطح انجام می شود:

. آموزش اپراتورهای سیستم 1

. آموزش مدیران راهبری سیستم 2

( م دیران آم وزش ی adminsدر اس تفاده قبی ل از (م واردی درس ت از تجه یزات ، عیِب ی ابی اولی ه و فعالیته ای الزمی ک ه در ف از پش تیبانی انج ام می ش وند را می بایس ت ب ه آنه ا آم وزش داد.

ه ای سیس تم ، م واردی از end userدر آم وزش ب ه اپراتوره ا ی ا ک اربردی، ی برنام ه از اس تفاده ، تجه یزات از اس تفاده قبی ل ی ا و ح ذف ، اض افه امک ان ، سیس تم ه ای داده از اس تفاده از گزارش ات گ رفتن ، سیس تم در اطالع ات وی رایِش سیس تم،بهین ه س ازی اطالع ات دری افتی از سیس تم و عیِب ی ابی

های اولیه می بایست آموزش داده شود.

Page 77: تجزیه و تحلیل و مدلسازی سیستم

Implementation. استراتژیهای راه اندازی سیستم 5Strategies:

چهار استراتژی برای راه اندازی سیستم وجود دارد که عبارتند از :

. استراتژی موازی 1

. استراتژی قطع2

. استراتژی فازبندی یا مرحله بندی 3

. استراتژی آزمایشی4

در استراتژی موازی، سیستم جدید و سیستم قدیم به صورت موازی با هم اجرا می شوند. هدف از این استراتژی باال بردن

قابلیت اطمینان سیستم و مشخص کردن خطاهایی است که تا لحظه نصِب در سیستم برطرف نشده اند.

Page 78: تجزیه و تحلیل و مدلسازی سیستم

Implementation Strategies Contd…

Page 79: تجزیه و تحلیل و مدلسازی سیستم

این دارد. زی ادی هزین ه ی و ک ار ن یروی ب ه نی از اس تراتژی این ام ا اس تراتژی مناس ِب سیس تم ه ایی هس تند ک ه اهمیت ب االیی دارن د مث ل

سیستم های مالی.

در هنگ ام راه direct cutover approach. در اس تراتژی قط ع ی ا 2ان دازی ، اج رای سیس تم ق دیمی ، قط ع و سیس تم ج دی د ج ا یگزین آن

می شود.

. اس تراتژی فازبن دی ش ده: در این اس تراتژی، نص ِب و راه ان دازی 3سی س تم جدی د ب ه ص و رت مرح ل ه ب ه مر حل ه انج ام می ش ود. ب ه عن وان انتخ اب ابت دا، سیس تم آم وزش دانش ج ویی د ر ی ک سیس تم م ث ال د ر واح د، س پس زی ر سی س تم محاس ب ه ی ش هریه و در ادا م ه زی ر سیس تم ه ای دیگ ر را ه ان د ازی می ش ون د. در ای ن م ورد مش کالت ، مرحل ه ب ه م رحل ه ر ف ع می ش وند و ف ش اری ب ه ک ل سیس تم وارد نم ی ش ود . این م ورد م ناس ِب سیس تم ه ا یی اس ت ک ه بخش های مختل ف آن جداج دا

هس تند و مس تقل عمل می کنند.

: ب رای ک اربران خاص ی )متخص ص( Pilot. اس تراتژی آزمایش ی )4 )مورد بررسی قرار می گیرد.

Page 80: تجزیه و تحلیل و مدلسازی سیستم

معیارهای انتخاب استراتژی راه اندازی :

. ماهیت و سایز سیستم: )هر چه سیستم بزرگتر و پیچیده تر باشد، به سمت 1استراتژیهای موازی و آزمایشی پیِش می رویم.(

. نوع سازمان مشتری : )ساختار سازمانی(2

. وجود واحد انفورماتیک یا کامپیوتر در داخل سازمان مشتری 3

. تعداد کاربرانی که با سیستم ارتباط برقرار می کنند.4

. حجم داده های سیستم.5

. پراکندگی جغرافیایی سیستم )داخل سازمانی یا بیرون سازمانی(6

)استراتژی مناسِب: آزمایشی و فازبندی شده(

مناسِب )استراتژی مناسِب: استراتژی قطع(tools. استفاده از ابزارها یا 7

. در دسترس بودن نیروی انسانی : )بدون داشتن نیروی انسانی استراتژی موازی 8قابل اجرا نیست.(

. درجه ی اهمیت و بحرانی بودن نرم افزار : )نرم افزارهایی که اهمیت و پیچیدگی 9انجام کار باالیی دارند، مثل نرم افزارهای مالی ، در آنها سراغ استراتژی قطع نمی

رویم.(

Page 81: تجزیه و تحلیل و مدلسازی سیستم

مرور نرم افزار پس از نصِب:

مرحل ه ی م رور پ روژه ک ه پس از نص ِب و راه ان دازی آن انج ام می ش ود، مرحل ه ی بس یار مهمی اس ت ک ه م دیر پ روژه ب ا بررس ی ه ای مختل ف عملک رد خ ود و از جنب ه ، پ روژه ک ارایی و کیفیت س ایز تیم تولی د پ روژه را س نجیده و از نت ایج آن می ت وان پس از

ثبت در پروژه های آتی استفاده کرد.

برخی از سواالتی که در این ارتباط مطرح می شوند، عبارتند از:

. آی ا سیس تم جدی د، هزین ه ی اج رایی و عملی اتی م ا را ک اهِش و 1یا افزایِش داده است؟

. آی ا سیس تم جدی د ، اطالع ات دقی ق و ب ه روزی را ب ه ارائ ه می 2دهد؟

. آی ا ک ار ک ردن ب ا سیس تم جدی د ب رای ک اربران از سیس تم ق دیمی 3راحتتر است؟

Page 82: تجزیه و تحلیل و مدلسازی سیستم

. آیا برای راهبری سیستم جدید، به اپراتورهای کمتر یا 4بیشتری نسبت به سیستم قدیم احتیاج است؟

. آیا سیستم جدید روالهای اجرایی و عملیاتی سازمان را 5بهبود بخشیده است؟

. آیا سیستم جدید ، ضریِب تولید را افزایِش داده است؟6

. آیا سیستم جدید، سرویس دهی به مشتریان را بهبود 7بخشیده است؟

برنامه ریزی حالتهای بحرانی

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

Page 83: تجزیه و تحلیل و مدلسازی سیستم

10فصل

Page 84: تجزیه و تحلیل و مدلسازی سیستم

تحلیل و طراحی نرم افزار به روش شیءگرایی:

همانطور که ذکر شد، دو روش عمده برای تولید نرم افزار وجود دارد که عبارتند از :

Objectو روش شیءگرا یا Structuredروش ساخت یافته یا Oriented

و تجزی ه م دلهای اس اس و ،پای ه یافت ه در روش س اخت و ه ا داده جری ان مبن ای ب ر و data flowتحلی ل ب وده

مبن ای ب ر h ک ه عمو م ا را م دلها یافت ه، این ط راح س اخت DFD می ب اش ن د، ب ه ی ک س اختار ک ه در آن ماژوله ا و ارتب از

س پس و تب دی ل ک رد ه اس ت، ش ده نش ا ن داد ه ما ژو له ا س اخت ا ر درون ه ر م ا ژول را ب ا اب زاره ا یی نظ یر ف ل وچ ارت و ی ا س ودوکد ط راح ی می ک ن د و برن ام ه ن ویس ب ا توج ه ب ه

م دل طر احی ، اقدا م به ساخت کدها می نمای د.

Page 85: تجزیه و تحلیل و مدلسازی سیستم

در تجزی ه تحلی ل ش یءگرا، تمرک ز تحلی ل گ ر ب ر روی رفتاره ایی )م دل انج ام می ش ود در سیس تم ح ال حاض ر در ی ا ک ه اس ت

h در business modeتج اری ( و رفتاره ایی ک ه می خ واهیم بع داش ود.) انج ام ی ا اض افه در requirement modelسیس تم )

h ب ا زب ان use و ب ا زب ان UMLمدلس ازی ش یءگرا، این م دلها، غالب اcase س اخته می ش ود. پس از آن تحلی ل گ ر می توان د ب ا اس تفاده

از م دلهای تکمیلی ، نح وه ی رد® و ب دل ش ده پیغامه ا بین اش یاء ی ا چرخ ه ه ای collaboration و sequence)نموداره ای ( و

( فع الیت work flowsک اری )نم ودار )activity نم ودار و )این تب دیل ب رای نش ان دادن وض عیت اش یاء و نح وه ی وض عیت

( اس تفاده می کن د state chart diagramوض عیتها ب ه یک دیگر )و س پس ط راح ش یءگرا ب ا اس تفاده از م دلهای ف وق ، می بایس ت و کالس ها ، ش یءگرا م ورد در ک ه سیس تم اص لی قطع ات

component ه ا هس تند را شناس ایی ک رده و ارتب اط بین آنه ا را رفتاره ای و ه ا وی ژگی کالس ه ر ب رای س پس و آورد بدس ت

(Methods آن را مش خص ک رده و مت دها را ب ا اس تفاده از ش به )کد طراحی نماید.

Page 86: تجزیه و تحلیل و مدلسازی سیستم

ویژگیهای پروژه های شیءگرایی:

(iterative. مشخص کردن یک روال تولید چرخشی )1

. تخمین زدن زمان و هزینه ی انجام پروژه با استفاده 2از روال تولید انتخاب شده.

( و milestones. مشخص کردن نقاط سنجِش )3نحوه ی اندازه گیری پیشرفت انجام پروژه .

. مشخص کردن نقاط مهم برای کنترل کیفی نرم 4افزار )در مراحل تولید(

. مدیریت تغییرات5

. مشاهده ،پیگیری و کنترل پیشرفت انجام پروژه 6

Page 87: تجزیه و تحلیل و مدلسازی سیستم

Object Oriented Metrics

objectبرخی از استانداردهای مورد استفاده در پروژه های oriented: عبارتند از

. تعداد متدها در یک کالس ) اگر تعداد متدهای کالسی از 1حدی بیشتر شد، باید آن را به کالسهای کوچکتر تفکیک

کرد.(

. عمق درخت و وراثت.2

. تعداد اشیاء نمونه گرفته شده از یک کالس3

بین کالسهاcoupling. بررسی 4

. واکنِش ها یا پاسخ هایی که به یک کالس داده می شود.5

در محیط های یک کالس.cohesion. کمبود چسبندگی یا 6

Page 88: تجزیه و تحلیل و مدلسازی سیستم

:Estimating an O.O projectتخمین زدن یک پروژه ی شیءگرا

برای تخمین زدن پروژ[ های شیءگرا ، می توان از معیارها یا موازین زیر استفاده کرد:

ها و سناریوهای آنها )هر چه تعداد آنها بیشتر باشد ، حجم usecase. تعدا 1کد بیشتری مورد نیاز است.(

. تعداد کالسهای اصلی 2

ها و کالسهای الزم برای پیاده interface. مشخص کردن واسط ها یا 3سازی آنها. )هر واسطی که سیستم را به محیط بیرونی مرتبط می کند.(

. محاسبه و بازبینی تخمین ها بر مبنای کالسها4

برنامه ریزی پروژه های شیءگرا:

. پروژه های شیءگرا با پروسس های چرخشی پیاده سازی می شوند.1

. در برنامه ریزی برای این پروژه ها می بایست :2

تعدا چرخِش های مورد نیاز را تخمین زد.. 1-2

مشخص کرد که در انتهای هر چرخه ، چه حجم یا درصدی از کارها انجام . 2-2شده است.