+ All Categories
Home > Documents > Plc Intro

Plc Intro

Date post: 07-Jun-2015
Category:
Upload: api-3809277
View: 418 times
Download: 3 times
Share this document with a friend
Popular Tags:
48
اري ز ف رم ا ن ولات ص ح م ات ي ح ه خ ر چSoftware Product Life Cycle ري ن ر مد ص ا ر ن کت د ا
Transcript
Page 1: Plc Intro

چرخه حيات محصوالت نرم افزاري

Software Product Life Cycle

دکتر ناصر مديري

هللا

Page 2: Plc Intro

طرح مسئله

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

•PLC چهار چوب و نظامي است براي معرفي نمودنسازمان در جهت طرح و توليد يك محصول نرم افزاري

جديد. • PLC در بر گيرنده كليد راه كارها، مسائل و مشكالت يك

:محصول نرم افزاري جديد استاز مرحله اوليه بازار سنجي– تا توليد انبوه و در نهايت جايگزين كردن محصول –

ارتباطات، كليه مراحل توليد فرآيند، همراه با PLC در •نهايي تا(Deliverables) وابستگي ها، خروجي هاي اصلي

توضيح داده شده اند. (Hands-off)نمودن

Page 3: Plc Intro

طرح مسئله

بنا به تعريف مهندسي) كه شامل قانونمند بودن و •رعايت ترتيب است( مهندسي ياد گرفتن قوانين و نظم گرفتن در روشي است كه بتوان استفاده كرد.

كه كار مهندسي در توليد نرم افزار ضروري است چرا•نرم افزار گروهي است و براي رسيدن به يك جواب

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

وابسته به تكنولوژي PLCتكنولوژي باشد كه با نخواهيم بود و با تغيير تكنولوژي تغييري در روند كار

ايجاد نخواهد شد.

Page 4: Plc Intro

فهرست

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

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

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

انواع محصوالت نرم افزاري• انواع محصوالت نرم افزاري•

مخاطبين چرخه حيات محصوالت نرم افزاري• مخاطبين چرخه حيات محصوالت نرم افزاري•

مدل چرخه حيات محصوالت نرم افزاري• مدل چرخه حيات محصوالت نرم افزاري•

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

Page 5: Plc Intro

System Platforms

Hardware Platform

Operating System Platform

Database Platform

Application Platform

API Platform

Application Programs

Communications Platform

ProductLife

Cycle(PLC)

ManMachinesToolsTechniques

Page 6: Plc Intro

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

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

تخت

پروژه ايمجازي

ترکيبي

Page 7: Plc Intro

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

ProductOriented

CustomerOriented

Production Oriented

Packages

Page 8: Plc Intro

روشهاي توليدروشهاي توليد

Waterfall

RUP

Prototyping

Prototyping & Prototyping & WaterfallWaterfall

ديدگاه ها در رابطه با چرخه توليد نرم افزار

Page 9: Plc Intro

کارفرما با سيستم دستي

باشد. نزديک بودن سيستمي که قرار است تهيه شود با سيستم دستي موجود•.گردش کار سيستم مانند گردش کار دستي باشد•نياز به آموزش زيادي نداشته باشد.•کارفرماي اصلي دوست دارد صحت کارش بيشتر شود.•هزينه ها پايين بيايد.•زياد به سيستم وابسته نباشد و سريع روي سيستم دستي اش سوييچ کند.•استفاده از سليقه هاي مختلف در سيستم جديد.•پشتيباني خوب.•محيط جديد مشکلي برايش ايجاد نکند.•وقت زيادي با توليد کننده سيستم صرف نکند.•پول زيادي ندهد.•دخيل در تکنولوژيهاي اوليه نشود.• باشد. Dependableسيستمي ••Version.ديگري نداشته باشد سيستمي پيشرفته تر باشد.•انتقال مطمئن از سيستم کامپيوتري به دستي مي خواهد.•نظرات از همه گرفته ميشود.•

مي باشد چون دراين شيوه به خوبي مي تواند سليقه هاي prototypeسيستم مناسب مختلف را اعمال کند

Page 10: Plc Intro

کارفرما با سيستم نيمه دستي

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

کاريدرخواست مستندات فني بيشتر•درخواست نتايج تست ها•فرصت کافي دادن براي •

Btestingمي خواهد با تكنولوژي •

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

ميشناسد را ها نيازمندي ميخواهد prototypeچون هم را هايي

Prototype &waterfall

شناخت جامعي نسبت به سيستم اش • و legacy systemداشته باشيم و

current system را در صورت موجود بودن کامال بفهميم و در سيستم جديد

لحاظ کنيم.در خواست مستندات فني بيشتر دارد.• را درخواست کند sourceممکن است •درخواست آموزش بيشتر با كيفيت باالتر •

مي کندمقدار زماني که محصولش تست مي شود •

طوالني است.هزينه هاي اضافه را قبول نخواهد کرد و •

سرويسهاي متفرقه را رد خواهد کرد.کامال تخصصي بايد با وي رفتار شود.•

Page 11: Plc Intro

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

ميگيرد. .پيش بيني ها دقيق است برآورد کردن نقطهDiminishing Return .ابزار و سرمايه گذاري روي ابزار مهم است.نيروي انساني ماهر و متخصص را بکار گيرد.بايد پويايي خودش را حفظ کند

چون فازها کامال تفکيک شده Waterfall

Page 12: Plc Intro

توسعه دهنده

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

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

Technology RUP/UML

Page 13: Plc Intro

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

• Waterfall • Linear Waterfall• Sequential Waterfall• Spiral• WinWin Spiral• Formal Specification• Prototyping• Extreme Programming• Object Oriented

Linear ModelsIterative ModelsObject Oriented Models

Page 14: Plc Intro

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

متدولوژي

SSADM

RUP

مفاهيم استانداردها

Tick it

CMM

مديريت

پروژه نيازمندي

پيکربندي تغييرات

کيفيت

SLCو PLC

آناليز طراحي

تست

پياده سازي

معماري نرم افزار

کالينت/سرور

يک اليه چند اليه

پايگاه داده ها

اوراکل

اس کيو ال سرور

ماي اس کيو ال

تعاريف اهداف

انواع و ويژگيسيستم ها

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

Page 15: Plc Intro

زبان هاي برنامه نويسي

جاوا VB

C

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

پروتکل ها

TCP/IP HTTP

FTP

محيطهاي توسعه نرم افزار

RationalDeveloper

Power Design

متريک هاي نرم افزار

به نسبت خط تعداد Command

Objective Metrics

Subjective Metrics

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

Page 16: Plc Intro

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

1. Single Licensee2. Package3. Bi-Product4. Off-The-Shelf5. Application Programmers Interface (API)6. Component7. Total Solution8. Turn Key Solution9. Flag-Ship

Page 17: Plc Intro

Well Engineered Software Engineering Software Software

high medium low عمر 1

high medium low updateقابليت 2

high medium low درستي و صحت 3

high medium low User friendly 4

high medium low نگهداري قابليت 5

high medium low دهي سرويس قابليت 6

high medium low بودن سازگار 7

دارد کاربرد به بستگي دارد کاربرد به بستگي دارد کاربرد به بستگي سرعت 8

high medium low Setup 9

high medium low توليد هزينه 10

low medium high حمل قابليت 11

high medium low مجدد استفاده قابليت 12

high medium low کارايي 13

high medium low اطمينان قابليت 14

high medium low Capability 15

high medium low Scalability 16

high medium low مستندات ميزان 17

high medium low امنيت 18

high medium low ارتقا قابليت 19

high medium low Modular بودن 20

high medium low نگهداري هزينه 21

high medium low ديگر هاي باسيستم ارتباط 22

high medium low شدگي توزيع ميزان 23

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

مقايسه نرم افزار ها

Page 18: Plc Intro

high medium low testميزان 25

no Yes/no yes Bug release دارد آسان 26

yes Yes/no no نه يا دارد مختلفي هاي نسخه 27

high medium low Requirementآناليز 28

high medium low دارد آموزشي مطالب مقدار چه 29

high medium low تکنولوژي انتقال 30

high medium low کاري هاي تيم تعداد 32

high medium low تکثير هزينه 33

high medium low توليد زمان مدت 34

high medium low حجم/ ميزان 35

high medium low Capacity 36

high medium low Customize بودن 37

high medium low با مختلف platformهمخواني هاي 38

high medium low کد حجم 39

high medium low نه يا است توليد استانداردهاي تابع 40

high medium low testingکيفيت 41

high medium low تست زنده محيط يا آزمايشگاه در محصول ميزان چهشده

42

medium little Very little نه يا دارد مشابه آيا 43

high medium low محصول به نيازمندي بررسي و تحليل زمان مدت 44

high medium low کارها تفکيک 45

high medium low يا است شده عمل شده شناخته متدولوژي اساس بر آيانه

46

yes yes yes نه يا کند کار که باشد مي محصولي آيا 47

high medium low Third party software requirement 48

high medium low OEM production 49

yes Yes/no no سيستم نه criticalآيا يا هست 50

high medium low افزار نرم توليد در ريسک ميزان 51

high medium low Change control نه يا دارد 52

مقايسه نرم افزار ها

Page 19: Plc Intro

درجه اول :

مديران عامل و معاونين

مديران توليد و معاونين

رئيس گروه هاي كاري

PLCمخاطبين

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

مديران و دست اندركاران توليدمديران و دست اندركاران توليدمديران و دست اندركاران عملياتي مديران و دست اندركاران عملياتي

سازمانسازمانروابط فروشندگان / فراهم كنندگان روابط فروشندگان / فراهم كنندگان

كليديكليديمشتريان كليديمشتريان كليدي

شركاء تجاريشركاء تجاري

Page 20: Plc Intro

اشخاصي كه ارزش افزوده به محصول خواهد آورد.

درجه دوم :

گروه ها و شركتهاي همكار مشتري هاي خاص )با كنترل دقيق (

Third)ارائه دهندگان و فروشندگان سيستم ها Party)

PLCمخاطبين

Page 21: Plc Intro

مهندسي

نرم افزار

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

مفهوم مهندسي نرم افزار

تعريف مهندسي نرم افزار

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

انواع نرم افزار)سنتي، مهندسي ساز، خوب (

چرخه حيات نرم افزار

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

مديريت پروژه

اصول و مفاهيم تحليل و طراحي

پروژه

نگهداري و توسعه نرم افزار

معماري پروژه

بررسي اوليه وامكان سنجي

تجزيه-تحليل و طراحي سيستم

برنامه سازي وآزمايش

استقرار-اجرا ونگهداري سيستم

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

مدل هاي فرايند نرم افزار

مدل آبشاري

و...winwinمدل

چرخه حيات محصول

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

نقشه پروژه

طيف مديريت

افراد، محصول ، فرايند و...پروژه

تعيين پايگاه داده

تعيين پرتكلتعيين زبان برنامه

نويسي

تحليل خواسته ها و اصول تحليل

ساخت نمونه و ...

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

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

معماري نرم افزار

طراحي داده ها

سبك هاي معماري و ....

موضوعات مهندسي نرم افزار

Page 22: Plc Intro

Birth

Maturity

Death

Time To Market

PLCساختار کلي

Page 23: Plc Intro

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

كه قرار است معلوم نيست محصولي كه عرضه مي شود سرويسهايي راارائه كند برآورده مي كند يا خير .

انبوه آن برنامه اي نداريم: توليد محصول أيجاد شده است اما براي Controlled Product Release

نداريم.General Availability به CPRبرنامه اي براي تبديل

نداشته باشيم چه مشكالتي PLCاگر بوجود مي آيد ؟

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

Page 24: Plc Intro

مستندات را داريم اما گروهي كه مي خواهد آن را پياده كند مشخص نيست.

Product Time To Market مشخص نيست چه زمان طول كشيده اما منابع براي تمام كردنش شده، كار بر روي يك محصول شروع است.

يم كه بدانيم كار را با چه ا چون برنامه ريزي نداشته مشخص نيست،.يما شروع كرده يوسعت

، نيستمحصول براي اولين مشتري آماده است اما گروه پشتيبان آن آماده PLCرا مي دهد كه اگر روزي محصول آماده شد ي امكان PLC تشكيالت آن

نيز آماده خواهد بود

PLCنبود

Page 25: Plc Intro

Cumulative time & money

The way it could

The way it has been

Threshold of pain

Frustration

Point Of No Return

Point of No Return

Page 26: Plc Intro

نخستين الگوي توليد محصول در شركتنخستين الگوي توليد محصول در شركت

PLC براي هركدام از عمليات Metricsأيجاد زير بنا و PLC براي هركدام از عمليات Metricsأيجاد زير بنا و

به حداقل رساندن زمان عرضه به بازاربه حداقل رساندن زمان عرضه به بازار

و فرهنگ يكسان براي استفادهMediaأيجاد و فرهنگ يكسان براي استفادهMediaأيجاد

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

تقويت مهارتهاي مديريت پروژه كه در نتيجه باعث مشخص شدن زمان عرضه به بازار مي شود

تقويت مهارتهاي مديريت پروژه كه در نتيجه باعث مشخص شدن زمان عرضه به بازار مي شود

افزايش ديدگاهافزايش ديدگاه

أيجاد مديريت پوياأيجاد مديريت پويا

PLCاهداف

Page 27: Plc Intro

باشد. بايد بتوان اعمالش كرد.Flexible و Adaptableبايد

به بهبود رود.رو باشد و Living Processبايد

باشد. بتوان در همه واحدهاApplicable to Allبايد بكاربرد.

PLCخواص

Page 28: Plc Intro

مراحل ايجاد و توليد يک نرم افزار

مستندسازي نرم افزار مطابق بانيازهاي ارائه روشي مدون براي توليد و,هدف از متدولوژيهاي تحليل وطراحي•متقاضيان است . در واقع توليد يک نرم افزار بطور کلي داراي مجموعه اي ازمراحل تفکيک شده است که اهم�

اين موارد عبارتند از:شناخت–تحليل –تجزيه –تخمينها و برآوردها–طراحي –برنامه سازي–پياده سازي و اجرا–پشتيباني –

,ارائه روشي جامع جهت توليد نرم افزار مبتني بر نيازهاي واقعي متقاضيان است , هدف در مهندسي نرم افزار• براي رسيدن به اين هدف بايد در اولين مراحل نيازها را شناخت و حاصل شناخت را در قالب مدل هائي گويا و

در طي چندين مرحله انجام مي شود. يا بالعکس و بدون ابهام مطرح نمود. شناخت نيازها بصورت کل به جزء وتا حد امکان تجربه بايد قادر به تحليل نيازها بوده و با تحليلگر خبره و , پس از يک شناخت اوليه از نيازمنديها •

کارها سريعتر ماژول شود و ,بتواند آنها را به قسمتهاي کوچکتري تجزيه کند که کار در عمل بصورت ما ژول با شناخت کامل اوليه اقدام به ارائه راه نرم افزاري را دقيقا" شناخت و جلو رود. با يد امکانات سخت افزاري و

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

افزار را طرح کرد در اين مرحله تمام کار را بدون کد نويسي روي کاغذ مي آوريم .بعد از مرحله طراحي نوبت به پياده سازي نرم افزار مي رسد در اين مرحله نرم افزار مورد نظر را با زبا ني که •

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

مشکلي روبرو شد آن تيم مشکل را حل کنند .

Page 29: Plc Intro

مدل چرخه حيات محصول

Product Life Cycle

Product

Proposal DesignInvestigation DevelopmentQuality Testing

Controlled Product Release

General Availability Obsolescent

Page 30: Plc Intro

ميباشد؟PLC نياز به آيا در محيط كار ميباشد؟PLC نياز به آيا در محيط كار

پيچيده باشد، نيار به يك روش مهندسي داريم كه بتوانيم اگر كاري بزرگ و مي PLCكار را بشكنيم و عالوه برآن بتوانيم كار را تكرار كنيم. با كمك

شرح عملكرد پروژه هاي نرم الگويي براي تعريف و توانيم چهارچوب و.افزاري داشته باشيم

پيچيده باشد، نيار به يك روش مهندسي داريم كه بتوانيم اگر كاري بزرگ و مي PLCكار را بشكنيم و عالوه برآن بتوانيم كار را تكرار كنيم. با كمك

شرح عملكرد پروژه هاي نرم الگويي براي تعريف و توانيم چهارچوب و.افزاري داشته باشيم

A Framework for specification of project softwareA Framework for specification of project software

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

Product Life Cycle

Page 31: Plc Intro

بايد يكسري مرورهاي دوره أي برنامه PLCدر انجام فازهاي گفته مي شود. هر فاز Check-pointsين مرورها ابه ريزي شود.

ن فازآ مي باشد كه در انتهاي Check-pointsحداقل داراي يك ها كي وكجا chpين بستگي به شما دارد كه ساير امي باشد و

.باشندChp ها در واقع Critical Gateهستند كه موقعيتي را براي ها فاز

را بازنگري كرده و با Processمديريت فراهم مي آورند كه كل ها تصميم بگيرند كار را chpين اعات دريافتي از اتوجه به اطل

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

.شوندكارهاي انجام شده را مرور مي

Check Points

Page 32: Plc Intro

Investigate

Design

Development

Qualification

Controlled Product Release

General Availability

Project Requirements

Project Authorization

Engineering Release

Controlled Product Release

General Availability

General Phase LevelReview Criteria

General Check PointReview Criteria

Concepts/Ideas

Products

Check Points

Page 33: Plc Intro

Check-points ها gate:هايي هستند كه وضعيت پروژه را همراه با بودجه و زمانبندي مشخص مي

را مشخص مي كند كه چطور تكميل Deliverableوضعيتكند. FURP/SMIآمادگي محصول در مقابل شاخصهاي خواهند شد.

Check Points

Page 34: Plc Intro

مستندات

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

فهم باشد.فهم باشد..2.2PLCPLC مراحلي است كه با طي آن يك محصول در مراحلي است كه با طي آن يك محصول در

بهينه ترين زمان و هزينه با موفقيت توليد مي شود.بهينه ترين زمان و هزينه با موفقيت توليد مي شود..3.3PLCPLC نحوه عمل كليه گروها را مشخص و تعريف نحوه عمل كليه گروها را مشخص و تعريف

..مي نمايدمي نمايد.4.4PLCPLC كليه نيازها براي انجام موفق پروژه را در بر كليه نيازها براي انجام موفق پروژه را در بر

مي گيرد.مي گيرد..5.5PLCPLC ضمانتنامه اي است براي موفقيت پروژه ضمانتنامه اي است براي موفقيت پروژه ..

Page 35: Plc Intro

مستندات فازمسئله،جمع آوري اهداف انجام کار و تعريف

امکان سنجي،هانيازمنديها،تحليل نيازتحليلتجزيه

اوليه

تجزيه سيستم،ساختار برنامه طراحي

شناسايي ماجولهاي قابل استفاده مجدد برنامه نويسي

نوشتن كد،تغيير كد و ويرايش كداصالح

، تست هاسيستمزيرتست واحد، تست سيستم

تست

آموزش به كاربران،پشتيباني،سرويس دادن به مشتري

عمليات سيستم

نصب سيستمبارگذاري

بهبود سيستم،استراتژيهاي جايگزين پشتيباني و نگهداري

مستندات

Page 36: Plc Intro

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

Proposal

Definition of the Problem

Alternative Solutions and Expected Benefits

Global Problem Analysis

Decide Future Worth of Software

Investigation

Product Specification Documents

customer communication

Determine exist resources

Determine financial capability of customer

Determine the technical requests

Planning

Global Problem Analysis

Required Resources

Required Costs

Required Delivery Dates

Software requirements Operating system

Suitable languages

Suitable DATA BASE

Risk analysis

Determine probable risks

Determine main factor in each probable risk

Determine possible ways to cover the probable risk

Engineering

Architectural Design Identify modules

Detailed Design

Design each modules

Determine duty for developers

Determine strategy for checking quality

Determine suitable method for training end users and administrator

Construction & release

Commented source code

Product testing

Module Testing also via Standards

Alternatives Implemented and Evaluated

Acceptance testing

Integration testing

System testing

Page 37: Plc Intro

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

Customer evaluation

Documentation of non- equal technical requirement

Software

Hardware

Data base

Re – defining developer team ‘s duties

Final Maintenance

Determine Duty of maintenance team’s members

Determine the whole strategy in maintenance which follow by company

Documented changes

Regression test cases

Report of beta testing

Changes to User Requirements

Documentation of Changes in Data Format

Documentation of Emergency Fixes

Routine debugging

Hardware Changes

Documentation Improvements

Efficiency Improvements

Page 38: Plc Intro

ProposalInvestigate

Design

Development

QualificationControlled Product Release

General Availability

Enhancements/Fixes - Follow-on Products

Beta Release CP

New product Initiation

Project RequirementProject Authorization

Engineering ReleaseControlled Product Release

General

Availability

Check point Phase Reviews

Product Life Cycle

Time to Market Window

First Customer Ship

Time To Market

Page 39: Plc Intro

Proposal

PhaseInvestigation

Phase

Requirement

Design

Phase

Development

Phase

Develop

Integrate

Qualification

Phase

External

InternalControlled

Product

Release

Phase

General

Availability

Phase

Obsolescence

Phase

ConceptProject

Requirement

Check-pointProject

Authorization

Check-point

Engineering

Release

Check-point

Time to market Window

Beta

Release

Check-point

Controlled

Product

Release

Check-point

First

Customer

Ship

General

Availability

Check-point

Product Life Cycle Model

Page 40: Plc Intro

HIGH-QUALITY SOFTWARE IS POSSIBLE.

GIVE PRODUCTS TO CUSTOMERS EARLY.

DETERMINE THE PROBLEM BEFORE WRITING THE REQUIREMENS.EVALUATE DESIGN ALTERNATIVES.

USE AN APPROPRIATE PROCESS MODEL.

MAKE QUALITY NUMBER

USE DIFFERENT LANGUAGES FOR DIFFERENT PHASESMINIMIZE INTELECTUAL DISTANCE.

پانزده نکته اصلي در مهندسي نرم افزار

Page 41: Plc Intro

GET IT RIGHT BRFORE YOU MAKE IT FASTER.

INSPECT CODE.

GOOD MANAGEMENT IS MORE IMPTANT THAN GOOD TECHNOLOGY

PEOPLE ARE KEY TO SUCCESS.

FOLLOW WITH CARE.

PUT TECHNIQUE BEFORE TOOLS.

TAKE RESPONSIBILITY.

پانزده نکته اصلي در مهندسي نرم افزار

Page 42: Plc Intro

The more they see, The more they need.The more they see, The more they need.Plan to throw one away.Plan to throw one away.

Design for change.Design for change.

Design without documentation is not design.Design without documentation is not design.USE tools, but be realistic.USE tools, but be realistic.

Avoid tricks.Avoid tricks.

Encapsulate.Encapsulate.

Understand The Customer s Priories.Understand The Customer s Priories.,,

پانزده نکته مهندسي نرم افزار

Page 43: Plc Intro

Use mcCabe complexity measure.

Analyze causes for errors.

People and time are not interchangeable.

Use coupling and cohesion.

Expect excellence.

Realize that software's entropy increases.

,

Don t test your own software.,

پانزده نکته مهندسي نرم افزار

Page 44: Plc Intro

صنعت نرم افزار به علت پييچيدگي ذاتي دايمي و سريع 1.و عدم آشنايي خريداران و كارفرمايان با نكات فني از جمله صنايعي است كه نياز مبرم به استاندارد دارد. به

همين دليل استانداردهاي فراواني در زمينه نرم افزار از IEEEطرف مراجع مختلف تدوين شده است. موسسه

سه گونه استاندارد نرم افزاري را معرفي و تعريف هاي زير را براي آن ها ارائه كرده است:

(- الزاماتي كه براي توصيه Conventionsقراردادها )2.رويكردي يكنواهت و منظم با مساله فراهم آوردن

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

كردن داده ها است.

(-الزاماتي كه براي توصيه Practices)تجارب عملي 3.رويكردي يكنواهت و منظم با فرايند توليد نرم افزار به

كار برده مي شوند.

(- الزاماتي اجباري كه براي توصيه Standardsاستانداردها )4.رويكردي يكنواخت و منظم با فرايند توليد نرم افزار به

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

حقيقت استاندارد هستند.

استانداردها

Page 45: Plc Intro

تقسيم بندي استانداردها بر اساس نوع آن ها نوع استاندارد 4انجام مي پذيرد. بدين ترتيب

فرايند، فرآورده، حرفه اي و عاليم پديد مي آيد.

تقسيم بندي استانداردها بر اساس نوع آن ها نوع استاندارد 4انجام مي پذيرد. بدين ترتيب

فرايند، فرآورده، حرفه اي و عاليم پديد مي آيد.

تقسيم بندي استانداردها

Page 46: Plc Intro

استانداردها بندي (Standard Partition)تقسيم

فرآيند (Process Standards)استانداردهاي

(Method)روش

(Technique)فن گيري (Measurement)اندازه

فراورده Product)استانداردهايStandards )

اجزا يا (Component)جزو

(Requirements)الزامات نيازها -

ساخت (Design)طرح

اي حرفه ( Professional Standards)استانداردهايشغلي ( Occupational Titles)عناوين

اخالقي ( Code Of Ethics)مباني

مجوز ( Licensing)صدور

( Certification)گواهي

درسي ( Curriculum)مباحث

(Description)شرح

(Plan)برنامه

(Report)گزارش

عاليم Notation)استانداردهايStandards )

(Nomenclature)واژگان

(Representation)نمايش

(Language)زبان

تقسيم بندي استانداردها

Page 47: Plc Intro

(Job Functionعملكرد شغلي )(product Engineering Functionsعمل كردهاي مهندسي فرآورده )

(Requirement Analysisتحليل نيازها )

(Designطراحي )

(Codingكد كردن )

&Verificationصحت سنجي و اعتبار سنجي )Validation ) ( بازبيني ها و مميزيReviews And Audits )

( Product Analysisتحليل فرآورده )

( Testingآزمايش )

(Integrationمجتمع سازي )

(Conversionتبديل )

(Debuggingعيب يابي )

(Product Supportپشتيباني از فرآورده )

(Software Maintenanceنگه داشت نرم افزار )

Technical Managementعمل كردهاي مديريت فني )Functions ) ( مديريت فرآيندprocess Management)

(product Managementمديريت محصول )

(Resource Managementمديريت منابع )

Retirementمرحله بازنشستگي ) Phase) مرحله كاربرد و نگه

داشت (Operations & Maintenance Phase) ( Life Cycleدوره حيات )

مرحله نصب و بررسي (Installation & Checkout Phase)

(Manufacturing Phaseمرحله تكثير )

مرحله تاييد كيفيت(Qualification Phase)

(Test Phaseمرحله آزمايش )

Implementationمرحله ساخت ) Phase)

(Design Phaseمرحله طراحي )

(Requirements Phaseمرحله نيازها )(Concept Phaseمرحله مفهومي )

تقسيم بندي هاي مهندسي نرم افزار

Page 48: Plc Intro

Conclusions?Conclusions?

Pointers?Pointers?

Questions?Questions?

Suggestions?Suggestions?

The End

Dr. Nasser [email protected]


Recommended