Download presentation
Presentation is loading. Please wait.
1
مهندسی نیازها فصل 7 درس مهندسي نرمافزار 2
دكتر احمد عبداله زاده بارفروش تهيه كننده : پويا جافريان Artificial Intelligent Systems Laboratory
2
مهندسی نیازها (دوره حیات)
آغاز(Inception) : مطرح نمودن تعداد سوال برای به دست آوردن : درک اولیه از مسئله افرادی که به راه حل نیاز دارند. ماهیت راه حل مورد نیاز کارایی ارتباط و همکاری اولیه بین مشتری و توسعه دهنده آشکارسازی(Elicitation) : به دست آوردن همه نیازها از همه ذینفعان جزئیات(Elaboration) : تهیه یک مدل تحلیل که نیازهای داده ای، کارکردی و رفتاری را مشخص نماید. مذاکره (Negotiation): توافق بر روی سیستمی که باید تحویل داده شود. Artificial Intelligent Systems Laboratory
3
مهندسی نیازها (دوره حیات)
توصیف (Specification): می توان یک یا چند مورد زیر باشد: یک مستند مجموعه ای از مدل ها توصیف رسمی و ریاضی مجموعه ای از سناریوهای کاربر (مورد کاربرد) یک نمونه (Prototype) اعتبارسنجی (Validation) : یک مکانیزم بازبینی برای یافتن : خطاها در متن یا در برداشت از مفهوم نیازها محل هایی که نیاز به وضوح بیشتر دارند. اطلاعاتی که حذف شده یا موجود نیستند. ناهمگونی بین نیازها (یک مشکل اساسی در مهندسی سیستمهای بزرگ) نیازهای متضاد یا غیر واقعی مدیریت نیازها (Requirement Management) Artificial Intelligent Systems Laboratory
4
مرحله آغاز (Inception)
تعیین ذینفعان تشخیص وجود دیدگاه های مختلف بین ذینفعان حرکت در جهت ایجاد همکاری بین ذینفعان سوالات کلی زیر بر روی مشتری، ذینفعان، اهداف کلی و سودی که از سیستم حاصل می شود تاکید دارد: چه کسی درخواست کار را داده است؟ چه کسی از محصول استفاده خواهد نمود؟ سود مالی یک محصول یا راه حل موفق چیست ؟ Artificial Intelligent Systems Laboratory
5
مرحله آغاز (Inception)
مجموعه سوالات زیر به توسعه دهندگان کمک می کنند تا مسئله و دیدگاه مشتری نسبت به محصول را بهتر بشناسد: شما چگونه یک خروجی خوب از یک محصول موفق را تشخیص می دهید؟ محصول باید به حل چه مسائلی بپردازد؟ آیا می تواند محیط کسب و کاری را که راه حل باید در آن مورد استفاده قرار گیرد شرح دهید؟ آیا محدودیت کارایی خاصی بر روی رویکرد ما به محصول تاثیر گذار است؟ مجموعه سوالات زیر بر روی میزان موثر بودن ارتباطات تاکید دارد : آیا شما بهترین فرد رسمی برای پاسخ گویی به سوالات هستید؟ آیا سوالات من به مسئله شما مرتبط است ؟ آیا من بیش از حد سوال مطرح می کنم ؟ آیا شخص دیگری وجود دارد که اطلاعات تکمیلی را فراهم نماید؟ آیا سوال دیگری وجود دارد که از شما بپرسم؟ Artificial Intelligent Systems Laboratory
6
مرحله آشکارسازی نیازها (Elicitation)
جمع آوری نیازها با همکاری تشکیل جلسه با حضور توسعه دهندگان و مشتریان یک برنامه زمانی منعطف در نظر گرفته می شود. قوانینی برای آماده سازی و حضور در جلسه تهیه می شود. یک فرد وظیفه کنترل جلسه را بر عهده می گیرد. از یک مکانیزم برای اندازه گیری حساسیت و میزان توافق گروه استفاده می شود. هدف از جلسه شناخت مسئله، ارائه عناصر راه حل، مذاکره در مورد رویکردها و توصیف مجموعه اولیه ای از نیازها است. Artificial Intelligent Systems Laboratory
7
مرحله آشکارسازی نیازها (Elicitation)
Quality Function Deployment(QFD) سه نوع از نیازها تعیین می شود (معمولی، مورد انتظار، جالب) در جلسه با مشتری، ابزار function deployment برای تعیین ارزش هریک از کارکردهای مورد نیاز سیستم استفاده می شود. ابزار Information deployment برای تعیین اشیاء داده ای و وقایعی که سیستم باید آنها را مصرف یا تولید کند؛ مورد استفاده قرار میگیرد. ابزار Task deployment رفتار سیستم را در محیط آن مورد بررسی قرار می دهد. با انجام تحلیل ارزش (Value Analysis) اولویت هریک از نیازمندی ها تعیین می شود. سناریوهای کاربر نام دیگر آن مورد کاربرد (Use-case) می باشد و نشان می دهد سیستم در آینده چگونه مورد استفاده قرار خواهد گرفت. توسعه دهندگان و کاربران سیستم هریک مجموعه ای از سناریو های احتمالی استفاده از سیستم را تهیه می کنند. Artificial Intelligent Systems Laboratory
8
محصولات کاری مرحله آشکارسازی (Elicitation)
بیانیه نیازها و امکان سنجی بیانیه حوزه سیستم یا محصول فهرستی از مشتریان، کاربران، و دیگر ذینفعان سیستم که در فرایند آشکار سازی نیازها شرکت کرده اند. توصیف محیط فنی سیستم فهرستی از نیازها و محدودیت های مرتبط با هر نیاز مجموعه ای از سناریوهای استفاده از سیستم (موارد کاربرد) که دید عمیق تری نسبت به استفاده از سیستم در شرایط مختلف اجرا ایجاد می کند. نمونه برای تعریف بهتر مسئله Artificial Intelligent Systems Laboratory
9
موارد کاربرد (Use Cases)
تعریف : مجموعه ای از سناریوهای کاربر که چگونگی استفاده کاربر از سیستم را نشان می دهد. هر سناریو از دیدگاه یک ”بازیگر“ ( یک فرد یا ابزار که از طریقی با سیستم ارتباط برقرار می کند) شرح داده می شود. هر سناریو به سوالات زیر پاسخ می دهد ک چه کسی بازیگر اولیه و چه کسی بازیگر ثانویه است؟ اهداف بازیگر چیست ؟ چه پیش شرط هایی قبل از آغاز سناریو باید وجود داشته باشد؟ چه فعالیت های اصلی یا کارکردهایی باید توسط بازیگر انجام شود؟ چه گسترش هایی در هنگام شرح سناریو باید انجام شود؟ سناریو به چه حالت های متفاوتی می تواند انجام پذیرد؟ چه اطلاعاتی از سیستم توسط بازیگر اخذ، تولید یا تغییر داده می شود؟ آیا بازیگر سیستم را از تغییرات رخ داده در محیط بیرون آگاه می کند؟ بازیگر تمایل دارد چه اطلاعاتی از سوی سیستم برای وی تهیه شود؟ آیا بازیگر تمایل دارد در مورد تغییرات ناخواسته مطلع شود؟ Artificial Intelligent Systems Laboratory
10
نمودار مورد کاربرد (Use Case Diagram)
Artificial Intelligent Systems Laboratory
11
مرحله جزئی سازی (Elaboration)
هدف از این مرحله فراهم آوردن شرحی از اطلاعات مورد نیاز در حوزه کارکردی و رفتاری برای سیستم کامپیوتری است. اجزاء مدل آنالیز : اجزاء مبتنی بر سناریو (شرح سیستم از دیدگاه کاربر) کارکردی : پردازش های انجام شده توسط کارکردهای سیستم موارد کاربرد : شرح تعاملات بازیگر و سیستم اجزاء مبتنی بر کلاس (ارتباط بین اشیائی که توسط بازیگر تغییر داده می شوند و ویژگی های این اشیاء) با توجه به سناریوها به دست می آید. اجزاء رفتاری ( رفتار سیستم و کلاس ها را به صورت مجموعه ای از حالات و انتقال بین حالت های مختلف مشخص می کند.) نمودار حالت اجزاء مبتنی بر جریان ( نحوه جریان اطلاعات را درون سیستم و نحوه تغییر آن توسط کارکردهای سیستم را مشخص می کند) نمودار جریان داده Artificial Intelligent Systems Laboratory
12
مرحله جزئی سازی (Elaboration)
هدف از این مرحله فراهم آوردن شرحی از اطلاعات مورد نیاز در حوزه کارکردی و رفتاری برای سیستم کامپیوتری است. اجزاء مدل آنالیز : اجزاء مبتنی بر سناریو (شرح سیستم از دیدگاه کاربر) کارکردی : پردازش های انجام شده توسط کارکردهای سیستم موارد کاربرد : شرح تعاملات بازیگر و سیستم اجزاء مبتنی بر کلاس (ارتباط بین اشیائی که توسط بازیگر تغییر داده می شوند و ویژگی های این اشیاء) با توجه به سناریوها به دست می آید. اجزاء رفتاری ( رفتار سیستم و کلاس ها را به صورت مجموعه ای از حالات و انتقال بین حالت های مختلف مشخص می کند.) نمودار حالت اجزاء مبتنی بر جریان ( نحوه جریان اطلاعات را درون سیستم و نحوه تغییر آن توسط کارکردهای سیستم را مشخص می کند) نمودار جریان داده Artificial Intelligent Systems Laboratory
13
Artificial Intelligent Systems Laboratory
نمونه ای از یک کلاس UML Artificial Intelligent Systems Laboratory
14
نمودار حالت UML برای مدل سازی رفتاری
Artificial Intelligent Systems Laboratory
15
Artificial Intelligent Systems Laboratory
الگوهای آنالیز نام الگو: نام الگو که بیانگر ماهیت آن می باشد. هدف: شرح موردی که توسط الگ بازنمایی یا انجام می شود. کاربرد: سناریوای که مشخص می کند الگو چگونه می تواند پاسخگوی مسئله مورد نظر باشد. نیروها و حوزه : شرح موارد خارجی که می تواند بر نحوه استفاده از الگو اثرگذار باشد و موارد خارجی که در صورت استفاده از الگو حل خواهند شد. راه حل: شرحی از نحوه اعمال الگو برای حل مسئله با تاکید بر مسائل ساختاری و رفتاری Artificial Intelligent Systems Laboratory
16
Artificial Intelligent Systems Laboratory
الگوهای تحلیل نتایج : مشخص می کند که وقتی الگو اعمال شود چه اتفاقی رخ خواهد داد و چه Trade-off هایی در هنگام استفاده از الگو وجود دارد. طراحی : نحوه طراحی الگوی آنالیز با استفاده از الگوهای طراحی موجود. استفاده های معمول: نمونه هایی از استفاده از الگو در سیستم های واقعی الگوهای مرتبط : الگوهایی که از جنبه های زیر با الگوی مورد نظر در ارتباط هستند: معمولاً همراه این الگو استفاده می شود. از لحاظ ساختاری شبیه الگوی مورد نظر است. نوع دیگری از الگوی مورد نظر است. Artificial Intelligent Systems Laboratory
17
مذاکره در نیازمندی ها (Negotiation)
تعیین ذینفعان کلیدی افرادی که در مذاکره درگیر هستند. مشخص نمودن ”شرط برد“ هر ذینفع شرایط برد همواره بدیهی نیستند. مذاکره حرکت به سمت مجموعه ای از نیازها که به حالت “Win-Win” منجر می شود. Artificial Intelligent Systems Laboratory
18
مذاکره در نیازمندی ها (Negotiation)
نکات کلیدی یک فرایند رقابت نیست. یک راهبرد مشخص داشته باشید. به صورت فعال گوش دهید. بر روی علایق طرفین دیگر تمرکز کنید. سعی کنید مسائل شخصی نشوند. خلاق باشید. برای تعهد آمادگی داشته باشید. Artificial Intelligent Systems Laboratory
19
اعتبار سنجی نیازمندی ها (Validation)
آیا هریک از نیازمندی ها با اهداف کلی سیستم همخوانی دارند؟ آیا نیازمندی ها دارای درجه لازم از تجرد می باشند؟ (برخی نیازها دارای جزئیات فنی بوده که در این مرحله از توسعه سیستم مورد نیاز نمی باشد) آیا نیازمندی واقعاً ضروری بوده ، یا نیازمندی برخی ویژگی های اضافی سیستم را مشخص می کند؟ آیا هریک از نیازمندی ها محدود و نامبهم می باشند؟ آیا درخواست دهنده و منبع هریک از نیازمندی ها موجود است؟ آیا نیازمندی وجود دارد که با دیگر نیازمندی ها در تضاد باشد؟ Artificial Intelligent Systems Laboratory
20
اعتبارسنجی نیازمندی ها (Validation)
آیا همه نیازمندی ها در محیط فنی که سیستم در آن توسعه داده خواهد شد؛ قابل دستیابی هستند؟ آیا همه نیازمندی ها، پس از پیاده سازی قابل تست می باشند؟ آیا مدل کلی نیازمندی ها بیانگر کارکردها، اطلاعات و رفتار سیستمی که قرار است تولید شود می باشند؟ آیا مدل نیازمندی ها به درستی تقسیم بندی شده است ؟ آیا از الگوهای نیازمندی در مدل نیازمندی ها استفاده شده است؟ آیا همه این الگو ها با نیازمندی های کاربر همخوانی دارند؟ Artificial Intelligent Systems Laboratory
21
مدیریت نیازمندی ها (Requirement Management)
مجموعه ای از فعالیت ها که تیم پروژه را در زمینه تشخیص، کنترل، و ردگیری نیازمندی ها و انجام تغییر در حین پیشرفت پروژه، یاری می کند. تعداد زیادی از این فعالیت ها مشابه آن فعالیت هایی است که فرایند مدیریت پیکربندی نرم افزار (SCM) را تشکیل می دهند. نیازمندی ها در مرحله اول، تشخصی داده شده و با یک مشخصه یکتا علامت گذاری می شوند. سپس نیازمندی ها با توجه به نوع (کارکردی، داده ای، رفتاری، ارتباطی، یا خروجی) طبقه بندی می شوند. جداول ردگیری تهیه شده و در هنگام تغییر هریک از نیازمندی ها به روز می شوند. سیستم های مبتنی بر پایگاه داده اعضای تیم را بسیار یاری خواهند نمود. Artificial Intelligent Systems Laboratory
22
جداول ردگیری (Traceability)
جدول ردگیری Feature ها ( مشخص کننده ارتباط نیازمندی ها با ویژگی های قابل رویت و مد نظر مشتری ) جدول ردگیری Source (مشخص کننده منبع هر نیازمندی ) جدول ردگیری Dependency (مشخص کننده ارتباط بین نیازمندی ها) جدول ردگیری Subsystem (مشخص کننده طبقه بندی نیازمندی ها با توجه به زیر سیستم) جدول ردگیری Interface ( مشخص کننده رابطه نیازمندی ها با واسط های داخلی و خارجی) Artificial Intelligent Systems Laboratory
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.