تحلیل و طراحی سیستمهای شی گرا

Post on 23-Jan-2016

126 views 10 download

description

تحلیل و طراحی سیستم‌های شی گرا. حسین دهقان دانشگاه آزاد بوشهر. مرجع. نحوه ارزيابي. امتحان پايان ترم 12 نمره پروژه گروهی 8 نمره تحلیل و طراحی سامانه نرم‌افزاری یکپارچه سامانه نرم افزاری و مستندات (پیشنهاد، تحلیل، طراحی) نیاز به کد نویسی ندارد ! - PowerPoint PPT Presentation

Transcript of تحلیل و طراحی سیستمهای شی گرا

تحلیل و طراحی

سیستم های شی گرا

حسین دهقاندانشگاه آزاد بوشهر

مرجع

2

نقا

ه د

نسی

ح

hd

.deh

ghan

@gm

ail.c

om

نحوه ارزيابي نمره12امتحان پايان ترم • نمره8پروژه گروهی•

تحلیل و طراحی سامانه نرم افزاری یکپارچه•

سامانه نرم افزاری و مستندات )پیشنهاد، تحلیل، طراحی(•

نیاز به کد نویسی ندارد !•

تاریخ تحویل فاز نهایی: ؟ )حداکثر تاریخ ممکن(•

+ نمره1سایت گروهی پروژه•درج تکوینی نتایج فعالیت های فردی و گروهی•

نمره 21------------------- ---------------------

نقا

ه د

نسی

ح

hd

.deh

ghan

@gm

ail.c

om

3

نحوه ارتباطhd.dehghan@gmail.comایمیل•

؟زمان های مالقات در دانشگاه•

4

نقا

ه د

نسی

ح

hd

.deh

ghan

@gm

ail.c

om

مقدمه

تحلیل و طراحی

سیستم های شی گرا

حسین دهقاندانشگاه آزاد بوشهر

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

مهندسی سخت افزار نقا

دهن

سیح

م

جی

سند

مهو

ی فن

ه کد

شدان

6

سخت افزار و نرم افزارهر دستگاه برنامه پذیر )مانند یک کامپیوتر یا یک •

میکروکنترلر( دارای دو بخش اصلی است: سخت افزار و نرم افزار

سخت افزار: هر قطعه قابل لمس و فیزیکی•نرم افزار: برنامه هاي کامپيوتري یا کدهایی که •

روی قطعات سخت افزای نصب می شوند )قرار مي شوند.می گیرند( و باعث کار کردن سخت افزار

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

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

7

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

سخت افزار و نرم افزارCPU RAM Battery

CapacityScreen Size

Removable Memory

Operating System

فروش

Dual Core1.00 GHz

1,024 MB

1,432 mAh

3.5 inch

NoiOS 5 1

Quad Core1.40 GHz

2,048 MB

2,100 mAh

4.8 inch

Yes Android 4.0 2

8

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

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

چرا بسیاری از نرم افزارها فاجعه هستند ولی •سخت افزارها نه؟

• Mariner Bugs Out (1962)• Cost: $18.5 million• Destroyed the rocket 293 seconds after liftoff.

• Medical Machine Kills (1985)• Cost: Three people dead, three people critically injured• a subtle bug called a race condition

• Ariane 5 rocket explosion• Cost: $360 million• 16 bit memory,

. . . .یکی از دالیل این مشکالت: عدم تست سیستم•

9

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

SWو HWتفاوت

•HWهزینه ارتقا سیستم •باید قبل از عملیات ساخت به HWطراحی •

پایان برسد.: برگشت دادن آنHWاشکال در •

•SWهزینه ارتقا سیستم •با گذشت زمان SWانتظار بهتر شدن •(upgrade: انتظار برای ارتقا )SWاشکال در •

قدیمی شدن سخت افزار و نرم افزارهای قدیمی•10

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

SWو HWتفاوت فرايند توليد نرم افزار يك فرايند مهندسي •

است نه يك فرايند توليد صتعتي

بوسيله استفاده كننده گان نهائيبوسيله متخصصين تعيين مشخصات:

يند توليد:آماهيت فريند مهندسي كه براي هر كاربرد آفرمكانيكي

جديد منحصر به فرد است

منطقيفيزيكيماهيت محصول:

نرم افزارسخت افزار

11

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

SWو HWتفاوت

زمان

نرخ خرابي

منحني نرخ خرابي سخت افزار نسبت به زمان

پس از رفع خطاهاي طراحي و

ساخت

آغاز فرسودگي

12

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

SWو HWتفاوت

زمان

نرخ خرابي

منحني نرخ خرابي نرم افزار نسبت به زمان

13

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

بحران نرم افزارپيشرفت شگرف سخت افزار• نرم افزار ضعف روشهاي توليد•ناتواني روشهاي توليد نرم افزار در •

كنترل پيچيدگي نرم افزار

14

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

نشانه های بحران نرم افزارعدم بهره گيري كامل از قدرت سخت افزار•

ناتواني روشهاي توليد نرم افزار در پاسخگوئي •به افزايش تقاضا

هزينه هاي هنگفت توليد نرم افزار•

عدم تحويل به موقع•

هاي كاربر عدم تامين نيازمندي•

كيفيت پايين و نامطمئن•

سختي نگهداري بعلت كيفيت پايين طراحي• 15

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مهندسی نرم افزار نرم افزار، براي مقابله با بحران•

د. مطرح شمهندسي نرم افزار

ويژگيهاي مهندسي نرم افزار•تجديد نظر در روشهاي برنامه ريزي و كنترل •

استفاده از تجربيات ديگر رشته هاي مهندسي•

تهيه و جايگزيني استانداردهاي مطمئن•

16

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

)ادامه(مهندسی نرم افزار

تعريف•

سيستماتيك، منظم و بكارگيري يك روش براي توليد و توسعه، گيري قابل اندازه

عملياتي كردن و نگهداري نرم افزار؛ در توليد نرم اصول مهندسي بكارگيري

افزار

17

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

اهداف مهندسی نرم افزارافزايش كيفيت، قابليت اطمينان، قابليت نگهداري•

رضايت كاربر و سهامداران•

كاهش هزينه•

تحويل به موقع•

استفاده از مولفه هاي استاندارد•

استفاده مجدد•

18

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

سیستم اطالعاتی نقا

دهن

سیح

م

جی

سند

مهو

ی فن

ه کد

شدان

19

سیستم اطالعاتیسیستم•

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

.چند نفر که در یک اداره یا سازمان با یکدیگر کار می کنند•آنها معموال کارهای روزمره خود را بدون کامپیوتر انجام •

می دهند.(Information System – IS)العاتی طسیستم ا•

فناوری برای تسهیل کارهای خود بخواهند از سیستمی که •)استفاده از سخت افزار، نرم افزار، شبکه، پایگاه اطالعات

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

بکارگیری فناوری اطالعات به منظور پشتیبانی و بهبود .کسب و کار شکل می گیرد

20

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

نرم افزارنرم محصولی است که توسط مهندسین •

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

اجرا می شود: و دادهبرنامه• که حاوی متن ها، فرم هامستنداتی•

سیستم اطالعاتی تعریف کلی تری از •نرم افزار می باشد.

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

دیدن نباشد.

21

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

چه کسانی در سیستم اطالعاتی دخیل هستند

صاحبان سیستم•کسانی که برای ایجاد سیستم هزینه می کنند. •معموال از طبقه مدیران ارشد یا میانی می باشند. •

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

خود استفاده می کنند.این افراد اموری مانند وارد کردن و تایید اطالعات، •

پاسخ دهی و ذخیره سازی را بعهده دارند. تیم پروژه•

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

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

22

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مهندس نرم افزاروظیفه یک •فهمیدن اینکه یک سیستم اطالعاتی •

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

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

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

داشته اید یا اینکه برنامه ای برای خود نوشته اید، فکر می کنید که نوشتن یک نرم افزار

برای یک سازمان کار راحتی است.متاسفانه این چنین نیست.•

23

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

آمار نرم افزارها1995سال •

24

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

Cancelled31%

Successful16%

Challenged53%

Challenged: Completed late, over budget, feature missing

)ادامه(آمار نرم افزارها

2000سال •

25

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

Cancelled23%

Successful28%

Challenged49%

دوره حیات توسعه سیستم ن

قاده

ن سی

ح

مجی

سند

مهو

ی فن

ه کد

شدان

26

دوره حیات توسعه سیستم ساخت یک سیستم اطالعاتی )یا نرم افزار( بسیار •

شبیه به ساخت یک خانه است. ساده ایدهیک 1.طرح ها باز )و ساده روی کاغذ طراحی های کلی 2.

طراحی می شوند تا اینکه توسط مشتری تایید (گردد

تکمیلی از پروژهطراحی با جزئیات 3.

3فاز خانه به کمک طرح هایی ساختن4.

ساختن خانه در ایران = ساختن نرم افزار در ایران ؟

27

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

دوره حیات توسعه سیستم )ادامه(

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

Planningبرنامه ریزی 1.

Analysisآنالیز 2.

Designطراحی 3.

Implementationپیاده سازی 4.

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

مشتری تحویل داده می شود.

28

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

برنامه ریزیچرا یک سیستم اطالعاتی باید برای •

؟سازمان ساخته شودمی توان پروژه را ساخت یا انجام داد؟•آیا طرح پیشنهادی می تواند کسب و کار را •

ارتقا دهد؟آگر پیاده سازی شود، آیا از سیستم •

استفاده خواهد شد؟از بعد برنامه ریزینحوه انجام داده پروژه ••Project Plan

29

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

)گام ها(برنامه ریزی

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

ارائه درخواست توسط بخش های حسابداری، •مالی و ...

امکان سنجی طرح پیشنهادی توسط سازمان •و تیم پروژه

بررسی انجام یا عدم انجام پروژه•مدیریت پروژه2.خروجی این مرحله نمودار زمانی انجام پروژه •

(Project Plan)30

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

آنالیزچه کسی از سیستم استفاده خواهد کرد؟•سیستم چه کاری انجام خواهد داد؟•چه زمانی و کجا از سیستم استفاده خواهد •

شد؟تیم پروژه•

سیستم موجود در سازمان و سیستم های •دیگر را بررسی می کند

فرصت های بهبود را بررسی می کند•کلیت سیستم جدید را توسعه می دهد•

31

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

)گام ها(آنالیز

گام تجزیه و تحلیل: شامل آنالیز سیستم 1.( و مشکالت آن as-in systemفعلی سازمان )

و آنالیز راهی برا طراحی سیستم جدید (to-be system)

جمع آوری نیازهای سیستم: بدست آوردن 2.اطالعات در مورد سیستم جاری از

طریق مصاحبه، پرسش نامهمستندات طرح پیشنهادی سیستم ارائه 3.

(system proposal )به سازمان 32

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

طراحیسیستم زئیاتجبررسی •

سخت افزار•ررم افزان•شبکه•رابط کاربری•فرم ها وگزارشات نرم افزار•زبان برنامه نویسی•فایل ها و پایگاه داده• 33

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

)گام ها(طراحی

(Design strategy )استراتژی طراحی1.سیستم باید توسط برنامه نویسان خود سازمان یا توسط تیم •

پروژه انجام شود.( باید تهیه گردد یا نرم افزاری باید Open Sourceیک برنامه متن باز )•

.خریداری شودطراحی2.

•Architecture Design : بعد سخت افزاری، نرم افزاری و زیر بنای شبکه•Interface Design : رابط کاربری سیستم، فرم ها و گزارشات

سیستم

پایگاه داده و فایل ها 3.

(: هر برنامه واقعا Program Designطراحی برنامه )4.چه کاری انجام خواهد داد. 34

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

)گام ها(پیاده سازی

ساخت سیستم: سیستم ساخته و تست می شود. 1.

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

روش حذف سریع: سیستم جدید به سرعت جایگزین سیستم •قدیمی می شود.

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

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

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

طرح پشتیبانی: نحوه پیاده سازی تغییرات جزئی 3.و کلی در سیستم 35

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مدل های توسعه سیستم

شروع یک پروژه

تحلیل و طراحی

سیستم های شی گرا

حسین دهقاندانشگاه آزاد بوشهر

مدل های توسعه سیستم ن

قاده

ن سی

ح

مجی

سند

مهو

ی فن

ه کد

شدان

37

مدل های توسعه سیستمروش های قاعده مند براي پياده سازي چرخه •

(SDLCحيات توسعه سيستم )

38

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

Planning

Analysis

Design

Implementation

System

+

(1تقسیم بندی )تاکید این مدل ها بر فرایندهای کسب و کار یا داده ها•

: بر تعريف فعاليت ها در فرآيندگرامتدولوژي هاي •.سيستم تاكيد دارند

: بر داده ها و نحوه داده گرامتدولوژي هاي •سازماندهي آنها تاكيد دارند.

: يك نوع توازن و تعادل بين دو شي گرامتدولوژي هاي •متدولوژي فوق ايجاد مي كند.

(: فعالیت های انجام شده در یک سازمان که اهداف Processفرایند )•سازمان را برآورده می کند.

(: حقایقی درمورد سازمان و تعامالت کسب و کار یا Dataداده )•مواد اولیه برای انجام کسب و کار در یک سازمان

39

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

(1تقسیم بندی )

40

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

(2تقسیم بندی )طراحی ساخت یافته•

مدل آبشاری•مدل موازی•

Rapid Applicationمدل های توسعه سریع )•Development یا )RAD

(Phased Developmentمدل فازبندی شده )•مدل نمونه سازی•

41

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مدل آبشاری

42

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مدل آبشاری )مزایا(اگر اولين مرحله مدل آبشاری به خوبي •

انجام شده باشد ورودي درست به مرحله بعد مي دهد و مي توان انتظار داشت كه اين

مرحله نيز به خوبي انجام شود.ارائه اصول و تكنيك هاي مناسب در اكثر •

مراحل مختلف اين مدل، انجام مراحل آن را آسان مي كند.

43

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مدل آبشاری )معایب(در مدل آبشاري با وجوديكه مراحل اوليه بسيار مهم مي •

� توجه الزم به اين مرحله نمي شود .باشند ولي عمالدرصد هزينه ها براساس آمار:•

%3فهم و تحليل خواسته ها •%3تعيين مشخصات •%5طراحي •% 7پياده سازي •%15تست •نگهداشت •

67%44

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مدل آبشاری )معایب(در مدل آبشاري استفاده كننده بايد كليه •

� خواسته هاي خود را در مرحله اول صريحابيان كند.

بيان كليه خواسته ها در مرحله اول توسط •استفاده كننده مشكل است

مشتری ممكن است بعضي از آنها را •فراموش كند

ممكن است همه نيازها را نتواند مشخص •كند و به طور كامل نداند. 45

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مدل آبشاری )معایب(مرحله تعیین خواسته توسط زبان طبيعي صورت مي •

گيرد كه زبان طبيعي داراي ابهامات زيادي مي باشد.زبان مشتركي بين تحليل گر و كاربر وجود ندارد •

بطوريكه كاربر نمي داند تقاضاي چه امكاناتي را بكند و تحليل گر نمي داند چه سواالتي را مطرح كند.

استفاده كننده بايد صبور باشد. يك اجراي عملي از •برنامه ها قابل مشاهده نيست تا اينكه پروژه به

.اتمام برسد به صرفه در این مدلدر عمل بازگشت به عقب•

نيست.46

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مدل موازی

47

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مدل موازی )ویژگی ها(مدل موازی تالش می کند زمان طوالنی که •

بین فازهای آنالیز و تحویل پروژه وجود دارد را کاهش دهد.

مهمترین ویژگی این مدل این است که •زمان تحویل سیستم را کاهش می دهد.

ممکن است زیر سیستم ها کامال از یکدیگر •مستقل نباشند و باید بین زیر پروژه

هماهنگی برقرار گردد.48

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مدل فاز بندی شده

49

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مدل فازبندی شده )ویژگی ها(مدل مبتنی بر فازبندی، یک سیستم را به نسخه های •

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

می شوند.مهم ترین و اساسی ترین نیازهای سیستم با اولین نسخه از •

سیستم همراه خواهد بود.در این مدل، به سرعت یک سیستم برای کار کاربر آماده •

می شود. اشکال عمده این مدل•

، است که عمدا ناقص یکاربران شروع به کار با سیستم•می کنند.

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

50

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مدل نمونه سازی

51

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مدل نمونه سازی )ویژگی ها(به طراح نرم افزار قادر است مدلی از نرم افزاری را•

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

به طور مختصر و مفيد و به صورتهای مختلف حتی •روی کاغذ

برنامه فقط قسمت کوچکی از کارهايی است که در •آينده و پس از تکميل پروژه انجام خواهد داد.

کاربر نباید دچار اشتباه شود و فکر کند که برنامه •نهايی نيز در اين حد کارآيی خواهد داشت.

در این مدل، قسمتی از برنامه نوشته شده و به کاربر •نشان داده می شود و بعد از اين کار به نوشتن اصلی و

جزئيات پرداخته می شود.

52

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مدل نمونه سازی )نمودار(نمودارگردش ارتباط طراحان سيستم با •

مشتری

53

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

محاوره با مشتری

ساخت یا تجدید نظر در مدل

نمونه

نظر مشتری راجع به مدل

نمونه

(مزايامدل نمونه سازی )امکان تغيير و جمع آوری نيازها • در طول توليد نرم افزار ارتباط مشتری با •

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

54

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مدل نمونه سازی )معایب(چون نمونه ای از نرم افزار در اختيار مشتری •

قرار می گيرد و مشتری در ابتدا نمی تواند نرم افزار کامل را مشاهده کند ممکن است تصور

غلطی از نرم افزار نهايی پيدا کند.

طراح ممکن است برای دستيابی سريع تر به •مدل نمونه به مسائل مهمی توجه نکند.

سيستم عامل درستی را انتخاب نکرده•زبان برنامه نويسی نامناسبی را برای •

نمايدننوشتن مدل نمونه انتخاب 55

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

شروع یک پروژه

نقا

دهن

سیح

م

جی

سند

مهو

ی فن

ه کد

شدان

56

شروع یک پروژهمجموعه ای از فعالیت ها با یک نقطه : پروژه•

شروع و یک نقطه پایان به منظور ارتقای کسب و کار

شروع یک پروژه•پی بردن به فرصت های توسعه کسب و کار•نیازهای تجاری•تکنولوژی جدید•

57

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

شروع یک پروژهمتاسفانه بسیاری از پروژه ها بدون درک •

صحیحی از نحوه بهبود کسب و کار ایجاد می شوند

ایده آل ترین موقعیت برای شروع یک •پروژه

همکاری افراد خبره در سیستم اطالعاتی •یا در فناوری اطالعات

افراد خبره در کسب و کار•58

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

شروع یک پروژه( از Project sponserپروژه توسط فرد یا گروهی )•

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

Systemافراد سازمان ابتدا یک طرح پیشنهادی )•request برای ایجاد سیستم اطالعاتی را به کمیته )

تصمیم گیر برای قبول یا رد پروژه ارائه می دهند.در صورت موافقت با انجام پروژه توسط کمیته •

Feasibilityتصمیم گیر، آنالیز امکان سنجی )analysis جهت بررسی تکنیکی، اقتصادی و )

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

59

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

طرح پیشنهادی

اسپانسر

پروژه

فرد یJا سJازمانی کJه پJروژه را از افJرادی و می کنJد شJروع در پJJروژه بJJا کJJه سJJازمان

 ارتباط خواهند بود.

 1

مثال

اعضای گروه مالی سازمانبخش بازاریابی

سازمان ITمدیر بخش

60

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

طرح پیشنهادی

نیازهای کسب و

کار

دالیJJل اصJJلی بJJرای شJJروع پروژه

 2

مثال افزایش فروشبهبود بازار

بهبود دسترسی به اطالعاتبهبود خدمت رسانی با

یمشتر

61

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

طرح پیشنهادی

ملزومات کسب و

کار

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

خواهد کرد.

3

مثال فراهم کردن دسترسی به اطالعات

در اختیار قرار دادن اطالعات مشتریان

اطالعات مربوط به محصوالتتولید گزارشات 62

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

طرح پیشنهادی

ارزش کسب و

کار

مزایJایی کJه این پJروژه بJرای سازمان خواهد داشت

4

مثال بهبود خدمت رسانی با یمشتر

افزایش فروش3% افزایش سهم بازار1%

میلیارد کاهش هزینه ها در 2سال

63

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

طرح پیشنهادی

مسائل ویژه

مسJJائل مربJJوط بJJه اجJJرای پJروژه و تصJمیماتی اتخJاذ شJده

توسط کمیته تصمیم گیر

 5

مثال مهلت اتمام پروژهپروژه باید در عید نوروز

آماده باشد.اطالعات مهم شرکت نباید

در اختیار تیم پروژه قرار .گیرد

64

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

آنالیز امکان سنجی(Technical) تکنیکیامکان سنجی •

آیا می توان این پروژه را انجام داد؟ آیا می •توان سیستم را ساخت؟

(Economic )اقتصادیامکان سنجی •آیا باید این سیستم را بسازیم؟ صرفه •

اقتصادی دارد یا خیر؟(Organization )سازمانیامکان سنجی •

اگر سیستم را ساختیم، آیا سازمان از آن •استفاده خواهد کرد؟

65

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

جمع آوری اطالعات

نقا

دهن

سیح

م

جی

سند

مهو

ی فن

ه کد

شدان

66

جمع آوری اطالعاتشناخت خواسته هاي كاربر •مناسب برای آنالیز امکان سنجی•مصاحبه•مشاهده•پرسشنامه•بررسي اسناد و مدارك•بررسي سيستمهاي موجود•بررسي ساير سيستمهاي مشابه•نمونه گيري و تجزيه و تحليل آماري•

67

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مصاحبهبهترين روش براي بدست آوردن اطالعات در يك سيستم • مصاحبهزمان•

مصاحبه بايد زماني باشد كه مصاحبه كننده اطالعات و مسائل •� آماده كرده باشد مورد سوال را كامال

مصاحبهمكان•بايد محل مناسبي باشد.•

مصاحبه:موضوع•سواالتي بايد در رابطه با كار و اطالعات باشد•از مديران: سواالت در رابطه با سياست ها و خط مشي هاي •

سازمان� چگونگي • از كارمندان جزء: سواالت در مورد جزئيات مثال

پركردن فرم هامصاحبه شونده شخص•

به ترتيب سلسله مراتب از باال به پايين باشند•

68

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مشاهدهمشاهده شرايط محيطي، چگونگي انجام •

كارها و كنترلهاي الزم، حجم و فشردگي كارها، سرعت كار، معطلي كار

شرايط مصنوعي و غير عادي در محيط •نباشد

69

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

پرسش نامهجمع آوري اطالعات در مورد عده زياد و يا •

در محل هاي پراكنده و دور از يكديگرپرسشنامه ها باید با حوصله توسط افراد پر •

شود.پرسشنامه با پاسخ باز •پرسشنامه با پاسخ بسته )چندگزينه اي(•

70

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

بررسی مدارکهر مدركي كه در سيستم فعلي مورد استفاده قرارمي گيرد•نمودار سازماني•صورت جلسات مديران•شكايات مشتريان•گزارش هاي حسابرسان و بازرسان، گزارش هاي مشاوران، •

گزارش عملكردها، سياست ها و اهداف و خط مشي ها، مقررات و دستورالعمل •

هاي اجرائيپرونده هاي دستي و كامپيوتري•فرم هاي ورودي و نحوه پركردن آنها•مستندات مربوطه به مطالعات قبلي سيستم توسط ساير •

مشاوران 71

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

بررسی سیستم های موجودسیستم های جاری در سازمان•

� تهيه شده م• � سيستم مكانيزه ديگری قبال ثالكه داراي پرونده اي است كه اين پرونده

مورد استفاده سيستم مورد نظر ما هم مي تواند باشد.

72

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

نمونه گیری و تحلیل آماریهميشه نمي توان تمام اقالم اطالعاتي •

.مربوطه را در سيستم بررسي كرددر صورتي كه تعداد اقالم اطالعاتي زياد •

باشد بايد نمونه هاي آماري را از بين آنها انتخاب نمود.

مثال بررسی تمام پرونده ها•

73

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

شروع یک پروژهنماتن

تحلیل و طراحی

سیستم های شی گرا

حسین دهقاندانشگاه آزاد بوشهر

نماتن

نقا

دهن

سیح

م

جی

سند

مهو

ی فن

ه کد

شدان

75

درباره نماتننظام مهندسی و استانداردهای تولید و •

توسعه نرم افزارقانونمند نمودن نحوه•

ارجاع کار توسط کارفرما•نوشتن پیشنهاد•چگونگی دریافت پیشنهاد•انجام کار توسط پیمانکار•

76

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

نمودار ارجاع کار در پروژه های نرم افزاری

77

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

درخواست برای ارئه ن پیشنهاد

قاده

ن سی

ح

مجی

سند

مهو

ی فن

ه کد

شدان

78

درخواست برای ارائه پیشنهادتولید یک نرم افزار← انتخاب مجری واجد •

شرایطدرخواست برای ارائه پیشنهاد•

•Request For Proposal = RFP

ارائه اطالعات و شرایط مورد نیاز در •ارتباط با انجام یک پروژه یا یک سیستم

نرم افزاریتوسط کارفرما یا سازمان•اهداف، داشته ها، خواسته ها، شرایط •

مرتبط با پروژهبیان نیازها•

79

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

درخواست برای ارائه پیشنهاد RFPک پروژه قدم اول مطالعه ي انجام يبرا•

باشد.يشنهاد( مي پي)مستند درخواست براستم هستند که يصاحبان س RFPد کنندگان يتول•

انجام پروژه را دارند.يتقاضامهندسان نرم افزار RFP يدکنندگان واقعيتول•

RFPستم مستند يهستند که به سفارش صاحبان س

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

انجام پروژه اقدام کند. ي تواند برايمطالعه آن مشنهاد( به ي) پ Proposalک يد ين شرکت باي← ا•

ستم ارائه کند. يصاحبان س80

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

RFPمزایای شناخت واقعی نیازهای پروژه•دریافت اطالعات درست و دلخواه در رابطه با نیازهای •

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

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

81

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مراحل تهیه و گردش اجرایی پروژه

شناخت نیازها پروژه•تهیه و تنظیم درخواست برای ارائه پروژه •

(RFP)برای افراد و شرکت های واجد RFPارسال •

شرایطبرپایی جلسات پرسش و پاسخ برای •

اشخاصدریافت پیشنهاد از اشخاص•انتخاب تیم پروژه و انعقاد قرارداد•

82

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

نمونه درخواست برای ( RFPارئه پیشنهاد ) ن

قاده

ن سی

ح

مجی

سند

مهو

ی فن

ه کد

شدان

83

RFP است؟يشامل چه موارد

معرفي سازمان

معرفي سازمان مشتري

تاريخچه سازمان

مقررات کاري، محدوديت هاي و مقررات همکاري

سازمان هاي مرتبط و زير مجموعه ها

و خدماتاهداف، عمليات

بندي سازمان واحدها و طبقه

تخصص هاي موجود

کليه سيستم هاي نرم افزاري، سخت افزاري و ارتباطات

RFP است ؟ي شامل چه موارد

زمانبندي مراحل منتهي به عقد قرارداد

استاندارها و ها دستورالعمل

قوانين تصميم گيري در مورد انتخاب را کنترل مي کند

چه کسي با چه افرادي مذاکره مي کند

چه کسي پرداخت ها را انجام ميدهد

اي قابل قبول است proposal چه فرمت

انتظارات در مورد قرارداد

انتظرات در مورد مستندات

proposal معيار هاي ارزيابي

RFP است ؟ي شامل چه موارد

بررسي مشکالت و کمبودهاي سيستم

خصوصيات نيازها وسيستم

درخواستي

نيازهاي سخت افزاري که شامل خصوصيات و نياز هاي اجباري، اساسي و مطلوب

سيستم است

نياز هاي نرم افزاري که شامل خصوصيات و نياز هاي اجباري، اساسي و مطلوب

سيستم است

سرويس هاي مورد نياز که شامي خصوصيات اجباري، اساسي و مطلوب و نيازهاي

سيستم است

RFP است ؟ي شامل چه موارد

توضيح مديريت

مشخصات پروژه ارائه شده

برنامه پروژه پيشنهادي

تست هاي قبولي سيستم

RFP مربوط به پروژه نقا

دهن

سیح

م

جی

سند

مهو

ی فن

ه کد

شدان

88

ارائه پیشنهادProposal نقا

دهن

سیح

م

جی

سند

مهو

ی فن

ه کد

شدان

89

Proposalديتول•Proposal و مطالعه يصفر با بررس RFP

شود. يه ميته يشنهاد شرکت هاي پ proposalيبه طور کل•

توسعه دهنده به درخواست شرکت باشد.ي ميمتقاض

دو گروه يد براي باproposal يبه طور کل•خواننده جالب باشد:

کارشناس•ران سازمانير کارشناس یا مديغ• 90

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

( Proposalپیشنهاد )نماتن ن

قاده

ن سی

ح

مجی

سند

مهو

ی فن

ه کد

شدان

91

مدیریت و کنترلپروژه

تحلیل و طراحی

سیستم های شی گرا

حسین دهقاندانشگاه آزاد بوشهر

مدیریت پروژه

نقا

دهن

سیح

م

جی

سند

مهو

ی فن

ه کد

شدان

93

مقدمهبرگزاری یک جشن فارغ التحصیلی در •

دانشگاه یا جشن عروسیقبل از شروع جشن، مشخص شدن:•

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

موفقعیت یک جشن بستگی به نحوه •دارد.برنامه ریزی

94

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مقدمهپروژه طراحی یک سیستم نرم افزاری می •

تواند بسیار پیشرفته تر از یک جشن باشد:تعداد افراد درگیر در پروژه بسیار بیشتر •

است. )سازمان دولتی(هزینه باالتر است.•کارهای بیشتری باید انجام شود.•

نیاز به برنامه ریزی، مدیریت پروژه95

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مدیریت پروژهدر طراحی یک سیستم نرم افزاری نیاز به •

Projectفردی به اسم مدیر می باشد. Manager

Project Managementمدیریت پروژه•

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

مشخص زماندر یک • حداقلهزینهبا یک • صحیحعملکردبا •

96

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مدیریت پروژهمدیر پروژه•

مسئول صدها کار و نقشی که در طول پروژه باید •انجام شود.

هدف مدیر پروژه•پروژه براساس ارزیابی واقع گرایانه از برنامه ریزی •

پروژهانجام پروژه براساس ارزیابی مدیریتسعی در •

انجام شده

نرم افزارهای مدیریت پروژه••Microsoft ProjectPlan ViewPMOffice

97

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مدیریت پروژه

شامل•پروژه اندازهتخمین و اندازه گیری •(Project Planبندی پروژه )زمانتولید جدول • پروژههزینهتخمین •

98

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

هرم مدیریت پروژه

مدیریت پروژه

اندازه سیستم

هزیمهزمان99

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

هرم مدیریتهر کدام از اجزا را بخواهیم تغییر دهیم، •

روی اجزای دیگر تاثیر می گذارد. 3در ابتدای پروژه، مدیر پروژه باید این •

قسمت را به توازنی برساند که اهداف سازمان )کارفرما( را برآورده کند.

اگر بخواهیم پروژه را سریع انجام دهیم:•کاهش اندازه پروژه ← نادیده گرفتن •

بعضی از قسمت هاافزایش هزینه ← افزودن افراد به تیم •

پروژه

100

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

تعاریف مدیریت پروژه

نقا

دهن

سیح

م

جی

سند

مهو

ی فن

ه کد

شدان

101

تعریف پروژه هاي موقتي براي تحقق يك تالشمجموعه •

تعهد در ايجاد يك محصول يا ارائه خدمات مشخص

براي دستيابي به فعاليتهامجموعه اي از •منظور خاص يا هدف خاص

كه داراي خاص عمليات و اقداماتمجموعه •روابط منطقي با يكديگر هستند و براي نيل

به هدف يا اهداف معيني انجام مي شود. 102

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

برخی تعاریف دیگر: كوچكترين جزء عملياتي تشكيل دهنده فعاليت•

يك پروژه را گويند. مثال جوش كاري، اجراي آسفالت، اجراي فونداسيون، ... در يك پروژه سازه

: مدت زمان انجام يك فعاليت در فعاليت مدت•پروژه را مدت فعاليت گويند. اين زمان مي تواند

كم يا زياد باشد اما صفر يا بينهايت ممكن نيست. : به كليه امكانات و وسايلي گفته مي شود كه منابع•

براي انجام آن فعاليت مورد نياز است. كه به سه - منابع انساني1دسته عمده تقسيم مي شوند:

- ماشين آالت و تجهيزات2- مواد و مصالح3

103

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

انواع پروژه- پروژه اجرايي1

همانند احداث پااليشگاه، احداث سد، احداث •ساختمان و ...

- پروژه مطالعاتي و تحقيقاتي2همانند مطالعه توجيه اقتصادي يك پروژه، •

مطالعات اجتماعي و فردي يك منطقه يا شهر و ...

- پروژه خدماتي3همانند زيباسازي شهر، بهبود ترافيك، دفع •

زباله و ...104

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

چرخه حیات پروژه

105

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

محدودیت های پروژه

106

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مدیریت پروژه

نقا

دهن

سیح

م

جی

سند

مهو

ی فن

ه کد

شدان

107

مدیریت و کنترل پروژه تعريف برنامه ريزي

تعيين توالي و توازي فعاليتهاي الزم براي اجراي يك •پروژه با در نظر گرفتن زمان مورد نياز براي اجراي

هر فعاليت و كيفيت تعيين شده براي آن فعاليتتعريف كنترل پروژه•

كنترل پروژه فرايندي است در جهت حفظ مسير •پروژه براي دستيابي به يك تعادل اقتصادي موجه بين سه عامل هزينه، زمان و كيفيت در حين اجراي پروژه

كنترل، اجراي دقيق و كامل برنامه تدوين شده براي •پروژه است، بگونه اي كه هنگام خروج از برنامه بتوان با تشخيص علل و طرح، پروژه را به نزديكترين حالت

ممكن در مسير اوليه و اصلي خود بازگرداند.108

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

تخمین اندازهپروژه ن

قاده

ن سی

ح

مجی

سند

مهو

ی فن

ه کد

شدان

109

Function Point Approach

110

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

Function Point Approach

روشی برای اندازه گیری اندازه برنامه •براساس پیچیدگی

(Inputsورودی ها )•(Outputsخروجی ها )•(Filesفایل ها )•(Queriesپرس و جوها )•(Program Interfacesظاهر برنامه )•

111

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

Function Point Approach

112

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

گام اول

Function Point Approach

Total Function Point = TUFP * APC

TUFP = 338: اسالید قبلAPC: Adjusted Processing Complexity

• 0.65 for very simple systems

• 1.00 for normal systems

• 1.35 for complex systems

→ TFP = 338 * 0.72 = 243113

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

گام اول

Function Point Approach

در فاز برنامه ریزی، وضعیت واقعی •سیستم هنوز مشخص نشده است.

غیرممکن است که بتوانیم تعداد واقعی •ورودی، خروجی و ... یک سیستم را

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

مدیر پروژه بستگی دارد.

114

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

گام اول

Function Point Approach

•Function Point ← تعداد خط کدهای یک برنامه

115

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

گام اول

Function Point Approach

تعداد خط کدهای یک برنامه•

= 243 × 148← باشد Cاگر زبان برنامه نویسی 35964

بسته های نرم افزاری و زبان های زیادی وجود دارد. •هر زبان امکانات خاصی را در اختیار کاربر قرار •

می دهد.نمی توان تمام سیستم را با یک زبان نوشت.•

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

116

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

گام اول

Function Point Approach

تخمین نفر-ماه•

effort (in person-months) = 1.4 * thousands of lines of code

خط کد35964

نفر-ماه50.35

117

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

گام دوم

:برای کدنویسی به کمک سی

Function Point Approach

تخمین زمان•

schedule time (months) = 3.0 * person-months1/3

  نفر-ماه50.35

ماه11

زمان برآورد شده برای فازهای تحلیل، طراحی و •پیاده سازی است و فاز برنامه ریزی را شامل نمی شود. 118

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

گام سوم

:برای کدنویسی به کمک سی

ساخت و مدیریتWORKPLAN ن

قاده

ن سی

ح

مجی

سند

مهو

ی فن

ه کد

شدان

119

برنامه ریزی پروژهتعريف برنامه ريزي

تعيين توالي و توازي فعاليتهاي الزم براي اجراي •يك پروژه

در نظر گرفتن•زمان مورد نياز براي اجراي هر فعاليت•كيفيت تعيين شده براي آن فعاليت•

روش ها(The Project Workplanتهیه جدول فعالیت ها )•(Gantt Chartنمودار گانت )••Pert Chart

(critical path method (CPM)روش مسیر بحرانی )•

120

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مشخص کردن فعالیت هااهداف کلی سیستم باید مشخص شود و مدیر •

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

فعالیت ها به صورت کلی مشخص می شود.•برای مشخص کردن SDLCمی توان از فاز های •

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

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

در این قسمت باید متد توسعه سیستم برای اجرای •را مشخص کرد. SDLCفازهای

121

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مشخص کردن فعالیت ها

122

)ریز مشخص کردن فعالیت ها فعالیت ها(

123

مشخص کردن فعالیت ها

124

به طور کلی باید کلیه فعالیت ها را مشخص •کرد.

وابستگی ها یک فعالیت به فعالیت های دیگر•زمان هر فعالیت•

مشخص کردن فعالیت ها

125

نمودار گانت حرف ارزش 1000یک عکس به اندازه •

دارد.وضعیت فعالیت ها، زمان انجام و وابستگی •

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

• spreadsheet package• graphics software (e.g., Microsoft VISIO)• project management package (Microsoft Project)

126

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

نمودار گانت

127

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

Pert Chart

128

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

(CPMروش مسیر بحرانی )

129

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

محاسبات روش مسیر بحرانیحرکت رفت یا محاسبه زودترین زمان وقوع •

یک فرایند

محاسباتي است كه از گره شروع پروژه آغاز •مي شود و گره به گره و فعاليت به فعاليت به

سمت گره پايان پروژه پيش ميرود.

قانون است:3داراي •- زودترين زمان وقوع گره شروع را 1قانون •

برابر صفر بگيريد.130

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

محاسبات روش مسیر بحرانیحرکت رفت یا محاسبه زودترین زمان •

وقوع یک فرایند قانون است:3داراي •

i- زودترين زمان وقوع گره 2قانون •برابر با حداكثر مقدار مربوط به زودترين

زمان پايان كليه فعاليتهاي پيش نياز آن است.

131

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

محاسبات روش مسیر بحرانیحرکت رفت یا محاسبه زودترین زمان •

وقوع یک فرایند قانون است:3داراي •

( i-j- زودترين زمان ختم فعاليت )3قانون •برابر است با زودترين زمان شروع

فعاليت، بعالوه زمان انجام آن فعاليت.

132

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

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

زمان هر فعاليت روي كمان مربوطه نوشته •شده است.

واحد زمان در اين شكل “روز” است.•براي شروع محاسبه يك تاريخ براي رويداد •

آغازين شبكه تعيين مي شود.133

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

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

134

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

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

135

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

محاسبات روش مسیر بحرانیحرکت برگست یا محاسبه دیرترین زمان وقوع یک •

فرایند

محاسبات حركت برگشت، به منظور تعيين ديرترين •زمان وقوع هر گره و ديرترين زمانهاي شروع و پايان

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

داراي سه قانون مي باشد:•- ديرترين زمان مجاز براي وقوع گره پاياني 1قانون•

را برابر با مقدار مورد نظر )از پيش تعيين شده( يا برابر زودترين زمان وقوع آن گره در نظر بگيريد.

136

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

محاسبات روش مسیر بحرانیحرکت برگست یا محاسبه دیرترین زمان •

وقوع یک فرایند

داراي سه قانون مي باشد:• يا j- ديرترين زمان وقوع گره 2قانون •

( را برابر با كوچكترين i-jختم فعاليت )مقدار ديرترين زمانهاي شروع فعاليتهاي

( بگيريد، يعنيi-jبعد از فعاليت )137

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

محاسبات روش مسیر بحرانیحرکت برگست یا محاسبه دیرترین زمان •

وقوع یک فرایند

داراي سه قانون مي باشد:•- ديرترين زمان شروع فعاليت 3قانون •

(i-j برابر با ديرترين زمان ختم فعاليت )منهاي مدت زمان اجراي آن است.

138

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

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

139

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

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

140

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

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

141

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

شبكه با ديرترين و زودترين تاريخ وقوع

142

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

شناوری در تاریخ های وقوع رویداد

مراجعه به شكل قبل مشاهده مي شود كه • مي تواند در هر تاريخي 1به عنوان مثال گره

اتفاق بيفتد.8 تا 4بين روزهاي 1در اينجا گفته مي شود كه رويداد )گره( •

شناوريداراي شناوري است و مقدار اين عبارتست از:

4=4-8: مقدار شناوري رويداد عبارتست از تعريف•

تفاضل بين زودترين تاريخ و ديرترين تاريخ وقوع

143

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

رویدادهای بحرانیدر يك شبكه رويدادهائي هستند كه داراي •

شناوري صفر مي باشند.زودترين و ديرترين تاريخ هاي وقوع اين •

رويدادها همواره مساوي بوده و هر تغييري در اين تاريخ ها باعث خواهد شد كه زمان

الزم براي تكميل پروژه را تغيير دهد.

144

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مسیر بحرانیدر هر شبكه حداقل يك راه وجود دارد كه •

شامل طوالني ترين زمان مي باشد. اين راه را مسير بحراني مي نامند.

مقدار شناوري مسير بحراني همواره برابر •صفر است.

مسير بحراني از رويداد آغازين تا پاياني، •همواره از رويدادهاي بحراني عبور مي

نمايد.145

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مدیریت منابعانسانی ن

قاده

ن سی

ح

مجی

سند

مهو

ی فن

ه کد

شدان

146

رابطه اعضا در تیم پروژه

147

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

رابطه اعضا در تیم پروژه

148

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

رابطه اعضا در تیم پروژه

149

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مدیریت خطاها

نقا

دهن

سیح

م

جی

سند

مهو

ی فن

ه کد

شدان

150

خطاهای هزینه و زمان

151

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

محاسبه هزینه

نقا

دهن

سیح

م

جی

سند

مهو

ی فن

ه کد

شدان

152

تحلیل سیستم ها

تحلیل و طراحی

سیستم های شی گرا

حسین دهقاندانشگاه آزاد بوشهر

مهندسی خواسته ها

نقا

دهن

سیح

م

جی

سند

مهو

ی فن

ه کد

شدان

154

مهندسی خواسته ها

155

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

تحلیل مشکل

تحلیل نیازها

مهندسی خواسته ها

156

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

بررسی

مشکل

بررسی

نیازها

تحلیلگر

آنالیز

طراح

مدل تحلیل

طراحی

مشتری

خروجی این مرحلهمستندات تحلیل •

نیازهامشخصه •

خواسته هاگزارش •

مهندسی خواسته ها

مبناي قرارداد •رسمي و مالك تحويل سيستم

در خاتمه ي پروژه

157

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

بررسی نیازها در مقابل تحلیلبررسی نیازها•

تعریف سیستم از •دید مشتری یا

سازمانمشخص شدن به •

کمک زبان طبیعیراه ارتباطی میان •

مشتری و تیم پروژه 158

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

تحلیل•تعریف سیستم از •

دید تحلیلگران و طراحان

مشخص شدن به •کمک مدل های

تحلیلراه ارتباطی بین •

تحلیلگران و طراحان سیستم

بررسی مشکالت و بررسی نیازها

اس�تفاده • نيازه�اي ك�ه سيس�تمي ط�راحي هدف: كنندگان را پوشش دهد.

باي�د اين نيازه�ا ب�ه درس�تي تع�يين، تحلي�ل و بررس�ي •شود.

: يع�ني مش�كالت را شناس�ايي ك�نيم مش�كالتتحلي�ل •و عل�ل و ا�ثرات آن �را برر�سي كنيم.

آن نيازه�ايكش�ف • در ك�ه ه�ايي تكني�ك سيس�تم: تحليلگ�ر ش�رحي� از نيازه�ا و� خواس�ته �ه�اي �سيس�تم را

شناسايي مي كند.159

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

فاز تحلیل نیازها

نقا

دهن

سیح

م

جی

سند

مهو

ی فن

ه کد

شدان

160

تحلیل نیازهامرحله تحلیل نیازها، نیازهای کسب و کار •

را برای سیستم جدید تعریف می کند.“چه کلید اصلی در مرحله تحلیل نیازها •

چیزی” است نه “چگونه”•What نه Howکاربراین از سیستم جدید چه می خواهند و •

چه نیازی به آن دارند؟

161

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

انواع نیازهانیازهای کارکردی یا عملیاتی•

•Functional

فعالیت ها و خدماتی که سیستم باید آنها را انجام •دهد.

مثال در يك سيستم دانشگاه: محاسبه معدل دانشجو•در يك سيستم انبارداري: تعيين موجودي فعلي انبار•

نیازهای غیر عملکردی••Nonfunctional

عملكردهايي كه استفاده كنندگان بصورت غير •مستقيم از سيستم انتظار دارند.

مانند راحتي استفاده براي كاربر•سريع كار كردن نرم افزار•امنيت نرم افزار•

162

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

اولویت نیازهانیازهای الزامی•

نیازهایی که باید در سیستم حداقل یا • وجود داشته باشد.1نسخه

نیاز الزامی را نمی توان رتبه بندی نمود.•نیاز مطلوب•

1نیازی که برای نسخه حداقل یا نسخه •ضروری نیست.

163

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

فاز تحلیل تصمیم

نقا

دهن

سیح

م

جی

سند

مهو

ی فن

ه کد

شدان

164

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

سیستم جدید به کمک رایانه چگونه باید •عمل کند.

مرحله تحلیل تصمیم•راه حل های ممکن را مشخص و تحلیل •

می کندسیستم جدید را برای طراحی و اجرا •

توصیه می کند.165

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مراحل فاز تحلیل تصمیمشناسایی راه حل های ممکن•تحلیل راه حل های ممکن•مقایسه راه حل های ممکن•توصیه یک راه حل•بهنگام سازی طرح پروژه•

166

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

تحلیل مدل گرا

نقا

دهن

سیح

م

جی

سند

مهو

ی فن

ه کد

شدان

167

تحلیل مدل گراسیستم را مدل کنیم. عملکردهدف این است که •مدل•

تصاویرنشان دادن سیستم و عملکرد به کمک •مانند: فلوچارت، نمودار سازمانی•“یک تصویر به اندازه هزاران حرف ارزش دارد”•

ترسیم مدلهای تصویری سیستم موجود یا •پیشنهادی در مستندسازی

تصاویری هستند که اجزای سازنده سیستم •)فرایندها، ورودی ها، خروجی ها و فایل ها( را با آن

نمایش می دهیم.168

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

نرم افزارها• Microsoft Visio• Rational ROSE• Visible Analysis• System Architect

169

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

بلوک های سازنده سیستم و مدل ها

داده ها•اطالعاتی که توسط سیستم جمع آوری و ذخیره •

می شود.مدلهای داده•← طراحی پایگاه دادهنمودار رابطه موجودیت •

فرایندها•کارهایی که سیستم انجام می دهد.•مدلهای فرایندی•← طراحی برنامه ها و نرم افزارهانمودار جریان داده •

رابط ها•نحوه ارتباط بین افراد، سیستم ها یا سازمانهای دیگر•← طراحی رابط های سیستم و کاربر Usecaseنمودار •

170

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

تحلیل مدل گرااز دیدی دیگر می توان رویکردهای مدل گرا •

را به دسته های دیگر تقسیم کرد:تحلیل ساخت یافته•

فرایند محور •نمودارهای جریان داده•

مهندسی اطالعات•داده محور•نمودارهای رابطه موجودیت•

تحلیل شی گرا• 171

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

تحلیل ساخت یافته، روشی مدلگرا و فرایند محور برای ساخت یافتهتحلیل •

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

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

Data Flow Diagram، DFDبه نام نمودارهای جریان داده، •

فرایندهای موجود در سیستم را به همراه ورودی ها، •خروجی ها و فایلها نشان می دهد.

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

172

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

DFD

173

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

IEمهندسی اطالعات

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

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

ترسیم می کنند. Entityبه نام نمودارهای رابطه موجودیت، •

Relationship Diagram، ERD

ابتدا مدل داده و در تحلیل ساخت یافته ابتدا IEدر •مدل فرایند ترسیم می شود.

174

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

ERD

175

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

تحلیل شی گرادر دو مدل قبلی، داده از فرایند تفکیک •

بوده است.

تحلیل شی گرا، داده و فرایند را در •ساختارهایی به نام شی یکپارچه می کند.

•Object Oriented Analysis، OOAبرای این تحلیل، استاندارد مدل سازی •

تکامل یافته است.•Unified Modeling Language، UML

176

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

UML

177

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

+Admit()+Regsiter for Classes()+Withdraw()+Change Address()+Calculate GPA()+Graduate()

-ID Number-Name-Grade Point Average

STUDENT

+Create a Course()+Delete from Course Master()+Change in Course Master()

-Subject-Number-Title-Credit

COURSE

+Add()+Drop()+Complete()+Change Grade()

-Semester-Division-Grade

TRANSCRIPT COURSE

11

has record for>0..*

0..*

تحلیل تسریع شده

نقا

دهن

سیح

م

جی

سند

مهو

ی فن

ه کد

شدان

178

رویکرد تسریع شدهساخت نمونه اولیه از سیستم به منظور •

شناسایی سریعتر نیازهای کاربر و کسب و کار

استفاده از نرم افزار اکسس برای ایجاد •پایگاه دادهف فرم های ورودی و نمونه

گزارش ها

باورهای نادرست•سیستم نهایی را می توان به همان سرعت نمونه •

ساختابزارهایی مانند اکسس می توانند در ساخت سیستم •

نهایی استفاده شود.

179

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

کشف نیازها

تحلیل و طراحی

سیستم های شی گرا

حسین دهقاندانشگاه آزاد بوشهر

کشف مشکل ها

نقا

دهن

سیح

م

جی

سند

مهو

ی فن

ه کد

شدان

181

کشف مشکلتحلي�ل گ�ر موف�ق كس�ي اس�ت ك�ه مش�كالت سيس�تم را •

دري�ابد و توانا�يي تحليل� مشكل را� داش�ته باشد.مثال: تشخيص بيماري )مشكل( توسط پزشك•

نكت�ه مهم: الزمس�ت بين علت مش�كل و معل�ول مش�كل •تمايز قائل شويم.

(: ي�ك اب�زار گ�رافيكي Ishikawa Diagram) ايش�يكاوانم�ودار •ت است�. ب�راي شناس�ايي، برر�سي و نماي�ش مشكال�

اس�تخوان م�اهي و ي�ا عل�ل و س�بب به اين نم�ودار نم�ودار •هم مي گويند. 182

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

نمودار استخوان ماهیعلت در سمت راست )سر ماهي( و علل •

ممكن به عنوان استخوان در اسكلت ماهي در نظر گرفته مي شود.

183

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

(Cause)علل(Effect)آثار

3علت 2علت 1علت

6علت 5علت 4علت

مشكل

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

184

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

کشف نیازها

نقا

دهن

سیح

م

جی

سند

مهو

ی فن

ه کد

شدان

185

جمع آوری نیازهااستفاده از تحقيق، مصاحبه، پرسشنامه، •

نمونه برداري و ديگر تكنيك هاي جمع آوري اطالعات، جهت يافتن مشكالت و

نيازمندي هاي سيستم.

186

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

روش های کشف نیازهانمونه گيري از اسناد، فرم ها و فايل هاي موجود•مشاهده تحقيقات و سايت ها•مشاهده محيط كار•

مزاياي مشاهده•معايب مشاهده•روش هاي انجام يك مشاهده خوب•

زندگي در سيستم•

187

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

پرسشنامهمزاياي پرسشنامه•معايب پرسشنامه•انواع پرسشنامه•

فرمت آزاد•فرمت محدود•

سواالت چندجوابي•سواالت درجه بندي شده•سواالت رتبه بندي•

توسعه پرسشنامه•188

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مصاحبهمزاياي مصاحبه•معايب مصاحبه•انواع مصاحبه و تكنيك هاي آن•

غير ساخت يافته•ساخت يافته•

سواالت بسته•سواالت باز•

انتخاب مصاحبه شوندگان•آماده شدن براي مصاحبه•اجتناب از اين سه نوع سوال•

سواالت بارگذاري شده•سواالت هدايت كننده•سواالت انحرافي•

راهنماي سواالت مصاحبه•هدايت مصاحبه•تعقيب كردن مصاحبه•

189

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

نمونه سازی( prototyping)نمونه سازي •

مزاياي نمونه سازي•معايب نمونه سازي•

استراتژي پيدا كردن واقعيت•

190

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

تحلیل شی گرایی

تحلیل و طراحی

سیستم های شی گرا

حسین دهقاندانشگاه آزاد بوشهر

شی گرایی

نقا

دهن

سیح

م

جی

سند

مهو

ی فن

ه کد

شدان

192

شی گرایی شي گرايي كل سيستم را به صورت مجموعه اي از اشياي

دنياي واقعي به ما نشان مي دهد. شي گرايي بر مبناي مفهوم و اصول كالس ها پياده سازي شده

است.مجموعه اي از اشيا، صفات، متدها )رفتارها و رويدادها( كالس :

را براي كاربران به صورت بسته بندي شده فراهم مي كند. به مجموعه خواصي گفته مي شود كه صفاتدر اين تعريف

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

مجموعه عمليات هايي هستند كه يك كالس در تعامل رفتارهابا اشيا و يا كالس هاي ديگر از خود بروز مي دهد.

عبارت است از نمونه اي از يك كالس كه صفات، خواص و شي :رفتارهاي آن كالس را نمايش مي دهد و در واقع با استفاده از

يك شي مي توان خصوصيات يك كالس را تغيير داد.

نقا

ه د

نسی

ح

hd

.deh

ghan

@gm

ail.c

om

193

مثالبه عنوان مثال كالس انسان را در نظر بگيريد•

در كالس انسان همه انسان ها داراي خواص و صفات و •رفتار هايي هستند.

اما هر انسان خاص يك شي از كالس انسان است كه داراي •خواص منحصر به فردي نسبت به يك انسان ديگر است.

نمونه اي از خواص انسان اين است كه هر انسان رنگ •پوست متفاوتي دارد. رنگ چشم خاصي دارد، نام خاصي

دارد و.....رفتارهاي يك انسان، مانند: صحبت كردن، غذا خوردن و ....•: هر شي در دنياي شي گرايي داراي صفتي كليد مشخصه•

است كه ان را از ديگر صفات متمايز مي كند. مانند اثر انگشت براي انسان يا نام شي در دنياي برنامه نويسي

نقا

ه د

نسی

ح

hd

.deh

ghan

@gm

ail.c

om

194

اجزاي شي گرايي•Abstraction)تجري�د( ي�ك رفتاره�اي و نم�ايش خ�واص يع�ني :

كالس بدو�ن تو�جه به سا�ختار در�وني� و نحوه پياده سازي آن.•Inheritance :)يع�ني ه�ر كالس مي توان�د خواص�ي را از )وراثت

كالس ه�ا�ي �ديگ�ر� ب�ه ا�رث ب�برد�. �مانن�د �ي�ك �ف�رزن�د ك�ه ا�ز پ�در �خ�ود س ه�اي ا�رث ب�ري د�ارد. �اين� ك�ار ب�ه ش�م�ا ك�م�ك� مي� �كن�د ت�ا� كال�

جديدي� را با تركيب ك�الس �هاي� ديگر� بسازيد.•Encapsulation :)محصورس�ازي ب�ه ش�ما كم�ك )محصورس�ازي

مي� كن�د� ت�ا� ص�ف�ات� �و رف�تاره�اي �ي�ك �ش�ي� را� ك�ه م�و�رد �ني�از ش�ي د�يگري نمي باش�د از� آن� شي مخ�في �نگه داريد.

•Polymorphism)ريخ�تي )چن�د امك�ان ش�ما ب�ه روش اين :عملكرده�اي و�اق�ع د�ر ك�ه ن�ام� ي�ك ب�ا ت�ا �رفتاره�اي�ي م�ي د�ه�د م�تف�او�تي دارن�د� ط�راحي نم�ايي�د. �مثال ش�ي م�اش�ين لب�اس ش�ويي

ب�س�ته ب�ه ن�وع� ورودي ه�ا�ي خ�ود� اعم�ا�ل متف�اوتي انج�ام مي دهد.

نقا

ه د

نسی

ح

hd

.deh

ghan

@gm

ail.c

om

195

مدل سازی شی گراییمدل سازي به روش شي گرا با استفاده از •

انجام مي شود.UMLتكنيك •UML Unified Modeling Language

زبان يكپارچه مدل سازي•زباني است كه به صورت بصري براي •

نمايش نمودارهاي مختلف جهت مدل سازي يك سيستم به روش شي گراء

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

نقا

ه د

نسی

ح

hd

.deh

ghan

@gm

ail.c

om

196

مدل سازی شی گرایی• Functional Models

• Use case diagrams• Structural Models

• Class diagrams• Dynamic/Behavioral Models

• Statechart diagrams• Sequence diagrams• Activity diagrams

نقا

ه د

نسی

ح

hd

.deh

ghan

@gm

ail.c

om

197

use caseمدلسازی

تحلیل و طراحی

سیستم های شی گرا

حسین دهقاندانشگاه آزاد بوشهر

هدف

نقا

دهن

سیح

م

جی

سند

مهو

ی فن

ه کد

شدان

199

use case هدف مدل

برای توصیف توابع و فرایندهای اساسی سیستم •و نحوه تعامل سیستم اطالعاتی با محیط اطراف

مدل سازی رویدادهای کسب و کار و اینکه چه •کسی این فرایندها را آغار و سیستم چگونه به

این رویدادها پاسخ می دهد.برای مدل سازی•

(as-inسیستم جاری )•(to-beسیستمی اطالعاتی آینده )•

نمایش نحوه تعامل سیستم کسب و کار با محیط•200

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مزایاوسیله ای برای کسب نیازهای کارکردی•تجزیه سیستم به اجزای قابل اداره و •

کنترلزبانی مشترک ارئه می دهد که به آسانی •

برای صاحبان سیستم قابل درک است.کمک به تخمین گستره پروژه، فعالیت ها و •

برنامه زمان بندینقطه آغازی برای شناسیایی اشیا یا •

موجودیت ها 201

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

توصیف

نقا

دهن

سیح

م

جی

سند

مهو

ی فن

ه کد

شدان

202

مقدمه یک توصیف ساده از توابع سیستم و use-caceمدل •

از دید کاربران است.• Function diagram

نمایش دهنده توابع پایه ای سیستم•کاربر چه کاری می تواند انجام دهد.•سیستم برای درخواست های کاربر چه •

عکس العملی انجام می دهد.

عمليات سيستم و افرادي که اين اطالعات را •دريافت يا ارسا ل مي کنند، را به تصوير مي کشد.

203

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

use-caseساخت دیاگرام های

همکاری سازمان و تیم پروژه برای نوشتن •هاuse-case متنیتوصیفات

ها به use-caseانتقال توصیفات متنی •دیاگرام ها

204

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

usecaseاجزای نمودار

نقا

دهن

سیح

م

جی

سند

مهو

ی فن

ه کد

شدان

205

•UseCase. دهد: می قرار کاربر اختیار در سیستم که هرسرویسی•Actor :با که هستند هایی سیستم یا افراد ها، کار UseCaseعامل ها

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

•UseCase Diagram میان و UseCaseمحاورات نشان Actorها را ها. دهد می

. UseCaseدر • هستیم کاربران های نیاز دنبال به ما دیاگرام،

اجزای نمودار

206

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

Actor یا کنشگر

207

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

هرچیزی که نیاز به تعامل با سیستم دارد تا به مبادله اطالعات بپردازد.

کنشگر: کاربران خارجی یک سازمان

سیستم اطالعاتی دیگر حسگر دما

زمان

Use case ها از سوی کنشگرها آغاز یاتحریک می شود.

Use case یا موردکاربردی

208

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

یک هدف از سیستم را use caseهر نمایش می دهد و توالی فعالیت ها و

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

یک فرآیند مهم است که با انجام آن توسط سیستم، سودی برای کنشگر

دارد.

Associationتناظرها یا

209

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

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

انتهای خطوط استفاده می شود.* = تعدد ارتباط

مثال

210

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

هاuse caseروابط بین • Extends

• A use case extends another use case• Include

• A use case uses another use case (“functional decomposition”)

• Generalization• An abstract use case has different

specializations

211

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مثال وراثت

212

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

وراثت

213

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

وقتی دو یا چند کنشگر ویژگی رفتاری مشترکی داردند

یکسانی را آغاز کنند. use caseمی توانند

مثال وراثت

214

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

includeشمول یا

215

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

: در بعضی مسائل، یک فعالیت برای انجام مشکلبسیار پیچیده می باشد.

پیچیده را به صورت use case: می توان راه حلمجموعه ای از حاالت کاربردی ساده تر در نظر

گرفت.

مثال شمول

216

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

CreateDocument

Scan OCR Check

<<include>>

<<include>>

<<include>>

شمول: استفاده مجدد

217

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

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

includeاستفاده از رابطه : حل راه

ViewMapOpenIncident

AllocateResources<<include>>

<<include>>

Base UseCase

SupplierUse Case

Extendتوسعه یا

218

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

: در بعضی مسائل، یک فعالیت در بعضی مشکلوقت ها نیاز به گسترش دارد.

extend: استفاده از رابطه راه حل

مثال توسعه

219

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

ReportEmergency

FieldOfficer

Help

<<extend>>A

Base UseCase

هاuse caseرابطه وراثت در

220

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

ValidateUser

CheckPassword

CheckFingerprint

ParentCase Child

Use Case

221

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

توضیحات

نقا

دهن

سیح

م

جی

سند

مهو

ی فن

ه کد

شدان

222

223

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

مثال

نقا

دهن

سیح

م

جی

سند

مهو

ی فن

ه کد

شدان

224

سيستم پردازش سفارشات

ارسال کاالي سفارش شده

تغيير فهرست اموال

چاپ گزارش فهرست اموال

تغيير سفارش

موجود

سفارش جديد

فروشنده

مديرانبار

کارمند انبار

حسابدار

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

225

...uc Use Case Moدستگاه خود پرداز بانکEA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version EA 7.1 Unregistered Trial Version

انک صدیب مت

ری مشت

ارمالي ب ماعت سيست

ول رداشتپ بردهگذاری وجهسپ

قالوجه انت

اعالمموجودی

ور غییررمزعب ت

رداختوجه پتجزیه و تحلیل نکته:

سیستم ها امری سلیقه ای است و

می توان گفت مانند نوشتن انشا می

باشد.

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

226

يك سيستم صدور فاكتور ساده را در نظر بگيريد. •در اين سيستم فروشنده اطالعات فاكتور را وارد مي كند.•و • ك�رده را محاس�به ف�اكتور مبل�غ ك�ل آن سيس�تم از پس

فاكتور را چاپ مي كند و به فروشنده مي دهد.

نمونه اي از يك نمودار مورد كاربرد

Enter Bill Details

Calculate Total Amount

Print Bill

Clerk

Clerk

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

227

کتابخانه

228

نقا

ه د

نسی

حی

سدهن

مو

ی فن

ه دکش

اند

م

ج

Borrow journal

Book BorrowerBorrow copy of book

Return copy of book

Extend loan

Journal BorrowerReserve book

Return journal

Browser

Librarian

Browse

Update catalog

دیاگرام کالس

تحلیل و طراحی

سیستم های شی گرا

حسین دهقاندانشگاه آزاد بوشهر

تعریفارتباطات کالس را در سيستم نشان مي •

دهد.مثال حساب بانکي يک کالس است که •

شامل اطالعات و رفتاري که برروي اطالعات عمل مي کنند.

براي نمايش ساختار كالس هاي موجود در •سيستم، صفات و عمليات آن ها به كار

مي رود.

نقا

ه د

نسی

ح

hd

.deh

ghan

@gm

ail.c

om

230

اجزای دیاگرام کالسکالس: بصورت یک مستطیل که اسم آن 1.

داخل آن نوشته شده است..2Association ارتباط( به صورت یک خط(

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

صفت3.

عملکرد4.

نقا

ه د

نسی

ح

hd

.deh

ghan

@gm

ail.c

om

231

نقا

ه د

نسی

ح

hd

.deh

ghan

@gm

ail.c

om

232

صفاتآن چیزی است که شی می داند.•واحدی از اطالعات که توسط شی نگهداری و مدیریت •

می شود.ساده ترین شیوه ی نمایش صفات، آوردن نام آن هاست •

اجازه می دهد اطالعات بیشتری درج شود.UMLولی آدرس ایمیل 5مثال اگر یک کارگر حداقل یک و حداکثر •

داشته باشد به این صورت نوشته می شود: EmailAddress[1..5]

اگر بخواهیم بگوییم که این آدرسها دارای ترتیب خاصی • EmailAdress[1..5نیستند به این شکل نشان می دهیم:

unordered] اگر بخواهیم نوع داده ی یک صفت و یک مقدار پیش •

فرض )اختیاری( را نشان دهیم، اینگونه نشان می دهیم:EmailAddress[1..5]unordered:string=“No Email Address”

اگربخواهیم مقدار صفت توسط اشیای دیگر قابل •دسترس نباشد، از یک عالمت )-( قبل از تعریف صفت

می آوریم.ن

قاه د

نسی

ح

hd

.deh

ghan

@gm

ail.c

om

233

صفاتVisiblity Name[multiplicity

Ordering]:Type=initial_value•Visibility

استفاده از عالمت +: قابل استفاده ی عمومی، قابل •استفاده از همه ی کالسها

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

استفاده از عالمت #: قابل استفاده بصورت حفاظت •شده، از زیر کالسها قابل دسترس باشد و از سایر

کالسها غیر قابل دسترس باشد.•Name

نام صفت را مشخص می کند.••Multiplicity

1اختیاری است و دارای مقدار پیش فرض •..* و 1است ولی می توان تعداد را بصورت

1..n.نیز مشخص کرد

نقا

ه د

نسی

ح

hd

.deh

ghan

@gm

ail.c

om

234

صفاتVisiblity Name[multiplicity Ordering]:Type=initial_value

•Orderingمرتب بودن و اولویت را مشخص می کند و اختیاری است. دو •

را می گیرد.unordered و orderedمقدار •Type

, Boolean, Realاختیاری است و نوع صفت را مشخص می کند.•Integer,String

•Initial_value:مقدار پیش فرض برای زمانی که مقداری برای صفت •

مشخص نمی شود.اگر یک صفت مختص فقط یک شی خاص باشد آن را •

Instance Scope یا Object Scope می گویند ولی اگر در همه ی Class Scopeاشیای کالس قابل استفاده باشد، آن را

استفاده UnderLineمی گویند و برای نشان دادن آن از می شود.

نقا

ه د

نسی

ح

hd

.deh

ghan

@gm

ail.c

om

235

صفات )مثال(

نقا

ه د

نسی

ح

hd

.deh

ghan

@gm

ail.c

om

236

عملیاتعملیات•

چیزی که کالس انجام می دهد.•متد•

چگونگی انجام دادن عملیات را مشخص •می کند و در واقع یک پیاده سازی از

عملیات است.

نقا

ه د

نسی

ح

hd

.deh

ghan

@gm

ail.c

om

237

تعریف عملیاتVisibility Operation_name(parameter_list): Return_type

•Visiblityمثل قبل•

•Operation_Nameنام عملیات•

•Parameter_listاین لیست دارای ساختار زیر است که با کاما از هم جدا می •

شوند.Kind Name : type = default_value

•Kind نوع ورودی یا خروجی بودن پارامتر را مشخص می کند و می : باشد.in , out inoutتواند

•Type نوع پارامتر :Boolean , integer , Real , String•Default_valueیک مقدار پیش فرض :

نقا

ه د

نسی

ح

hd

.deh

ghan

@gm

ail.c

om

238

مثال عملیات

نقا

ه د

نسی

ح

hd

.deh

ghan

@gm

ail.c

om

239

روابط

نقا

ه د

نسی

ح

hd

.deh

ghan

@gm

ail.c

om

240

Inheritance relationshipClass 2 and Class 3 derive from Class 1

Class 1

Class 2 Class 3

مثال کالس دیاگرام

نقا

ه د

نسی

ح

hd

.deh

ghan

@gm

ail.c

om

241

SimpleWatch

PushButton Display Battery Time1

1111

1 22

SimpleWatch class contains 2 PushButtons 1 Display 2 Batteries 1 Time

نمودار کالس برداشت پول از ATM

نقا

ه د

نسی

ح

hd

.deh

ghan

@gm

ail.c

om

242

کارت خوانشماره کارت

پذيرش کارتبازگرداندن کارت

خواندن کارت

حساب

شماره حسابرمز

موجوديباز کردنبرداشت

کاهش حسابتاييد مبلغ

دستگاه پرداختمبلغ

تهيه مبلغ

صفحه نمايش

فرمانپذيرش ورودي

نمودار توالی

تحلیل و طراحی

سیستم های شی گرا

حسین دهقاندانشگاه آزاد بوشهر

نقا

ه د

نسی

ح

hd

.deh

ghan

@gm

ail.c

om

244

تعریف useبراي نشان دادن جريان عمليات در يک•

case است. مثال برداشت پول چند توالي دارد: برداشت پول، تالش براي برداشت

بدون موجودي.

نقا

ه د

نسی

ح

hd

.deh

ghan

@gm

ail.c

om

245

نمادها• Classes are represented by columns• Messages are represented by arrows• Activations represented by narrow

rectangles• Lifelines are represented by dashed lines

نقا

ه د

نسی

ح

hd

.deh

ghan

@gm

ail.c

om

246

مثال نمودار توالی برداشت پول ATMاز

نقا

ه د

نسی

ح

hd

.deh

ghan

@gm

ail.c

om

247

مشتري

کارت خوان صفحه نمايش حساب مشتريدستگاه پرداخت

پول

. پذيرش 1کارت

. خواندن کارت2

.شروع به کار صفحه نمايش3

PIN. اجازه ورود 4

PIN. ورود 5 . بازکردن حساب6PIN.بررسي 7

. اجازه تراکنش8

. انتخاب برداشت9. تعيين مبلغ10. وارد کردن مبلغ11 .خارج کردن مبلغ12

از حساب. بررسي مبلغ13

. کم کردن از حساب14

.پرداخت 15پول

.باز گرداندن کارت16