دوست عزیز، به سایت علمی نخبگان جوان خوش آمدید

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

توجه داشته باشید، در صورتی که عضو سایت نباشید نمی توانید از تمامی امکانات و خدمات سایت استفاده کنید.
صفحه 3 از 6 نخستنخست 123456 آخرینآخرین
نمایش نتایج: از شماره 21 تا 30 , از مجموع 56

موضوع: مهندسی نرم افزار 1

  1. #21
    مدیر کـــــــل ســــایت
    رشته تحصیلی
    مهندسی کامپیوتر - نرم افزار
    اکانت شخصی
    ندارد
    نوشته ها
    7,883
    ارسال تشکر
    9,788
    دریافت تشکر: 29,042
    قدرت امتیاز دهی
    13974
    Array
    Admin's: جدید39

    پیش فرض

    تجريد (Abstraction):




    فراِيند متمرکز شدن روی ويژگيها و رفتارهای اصلی يک پديده و ناديده گرفتن ويژگيهای موقت و غير مهم آن پديده ، از يک زاويه ديد مشخص
    مثال :



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

    ويژگيهای تجريد :
    برای هر شیء تجريدهای گوناگونی وجود دارد.
    تجريد دارای سطوحی است (ميزان پرداختن به جزئيات).

    پالايش (Refinement):


    * يک نوع طراحی بالا به پائين است که توسط نيکلاوس ويرث مطرح گرديد .

    * پالايش وظايف وداده ها به صورت موازی در کنار هم مطرح می گردد .

    * سطوح بالای تجريد تجزيه شده و به سطوح پائين ترتجريد تبديل می گردند.


    واحدبندی (Modularity):


    سيستمی را واحد بندی شده می گويند که به مجموعه ای از ماژولهای (واحدها) منسجم و معنی دار که وابستگی بين آنها حداقل است تجزيه شده باشد.

    ماژولها : واحد تشکيل دهنده ساختار فيزيکی سيستم نرم افزاری

    مثال از ماژول :
    فايلها در C++

    انسجام (Cohesion) : انسجام عبارت است از درجه ارتباط عملکردهای عناصر داخلی يک ماژول

    وابستگی ( Coupling) : عبارت است از درجه ارتباط واحدهای گوناگون با يکديگر


    نقش واحدبندی در کنترل پيچيدگی :
    جهت مقابله با پيچيدگی می توان مساله را به اجزا کوچکتری شکست.



    سلسله مراتب کنترلی(Control Hierarchy):

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

    ساختار برنامه ،ترتيب فرايندها را بيان نمی نمايد.

    نمودار درختی



    پنهان سازی اطلاعات (Information Hiding):


    - راحتی کاربر

    - امنيت برنامه

    - جلوگيری از اثرات جانبی

    اصول شی گرائی:


    نخبه یعنی خودباوری انسان و پس از خود باوری کاری غیر ممکن نمی شود

  2. 3 کاربر از پست مفید Admin سپاس کرده اند .


  3. #22
    مدیر کـــــــل ســــایت
    رشته تحصیلی
    مهندسی کامپیوتر - نرم افزار
    اکانت شخصی
    ندارد
    نوشته ها
    7,883
    ارسال تشکر
    9,788
    دریافت تشکر: 29,042
    قدرت امتیاز دهی
    13974
    Array
    Admin's: جدید39

    پیش فرض

    مبانی شی گرائی

    (بخش اول)


    فهرست:

    مدل فرايند شی گرا
    اصول چهار گانه شی گرايي
    تعريف شی
    تعريف کلاس
    نوع داده مجرد


    -------------------------------------

    مدل فرايند شی گرا:


    بهترين الگو برای مهندسی نرم افزار OO ، مدل فرايند CBD می باشد.


    اصول چهارگانه شی گرائی:


    همانگونه که اشاره گرديد شی گرائی بر اصل زير استوار است :
    تجريد (Abstraction)
    واحدبندی ((Modularity
    محصور سازی (Encapsulation)
    سلسله مراتب (Hierarchy)

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

    محصور سازی:


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


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

    واسط (Interface) : توصيفی از سرويسهائی که اين شی در اختيار Clientها قرار می دهد.
    پياده سازی : ساختمان داده ها + الگوريتم ها



    مزايای محصور سازی:


    برخی از مزايای محصور سازی عبارتند از :
    جلوگيری از دسترسی های عير مجاز

    امکان تغيير در محتويات کلاس بدون آنکه خللی به استفاده کنندگان وارد نمايد (به شرط آنکه واسطهای کلاس تغيير ننمايد)

    افزايش قابليت استفاده مجدد

    قاعده باز و بسته :

    ماژول باز : ماژولی که آماده اعمال تغييرات باشد.
    ماژول بسته : ماژولی که امکان تغييرات در آن وجود ندارد.

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

    سلسله مراتب:

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

    سلسله مراتب باعث افزايش فهم مساله می گردد.

    انواع سلسله مراتب :
    سلسله مراتب ساختار کلاس (IS-A)
    سلسله مراتب ساختار شی (PART-OF)

    سطوح تجريد مختلف در سطوح مختلف سلسله مراتب ظاهر می گردد.


    سلسله مراتب ساختار کلاس (IS-A):

    نام ديگر اين نوع سلسله مراتب تخصيص / تعميم
    (Generalization/Specialization)
    می باشد.
    وراثت مهمترين شکل سلسله مراتب IS-A می باشد.
    وراثت عبارت است از رابطه بين چند کلاس که در آن يک کلاس در ساختار ، رفتار يا هر دو با يک کلاس (Single Inheritance) يا چند کلاس (Multiple Inheritance) ديگر شرکت دارد.
    کلاس فرزند يک تخصيص از کلاس عمومی تر(کلاس پدر) را نمايش می دهد.
    وراثت با اصل پنهان سازی اطلاعات در تضاد است.



    نخبه یعنی خودباوری انسان و پس از خود باوری کاری غیر ممکن نمی شود

  4. 5 کاربر از پست مفید Admin سپاس کرده اند .


  5. #23
    مدیر کـــــــل ســــایت
    رشته تحصیلی
    مهندسی کامپیوتر - نرم افزار
    اکانت شخصی
    ندارد
    نوشته ها
    7,883
    ارسال تشکر
    9,788
    دریافت تشکر: 29,042
    قدرت امتیاز دهی
    13974
    Array
    Admin's: جدید39

    پیش فرض

    سلسله مراتب PART-OF:


    نوع ديگری از سلسله مراتب می باشد که در آن يک کلاس از يک يا چند کلاس ديگر تشکيل می گردد.

    نام ديگر اين نوع سلسله مراتب رابطه کل/جزء ( Whole/Part Relationship )يا رابطه تجمعی (Aggregation Relationship) می باشد.


    شیء (Object):


    شی يک مفهوم کلی است بگونه ای که دارای هويت بوده و قادر به بروز رفتار و ثبت حالات (وضعيت) خود باشد.


    هويت (Identity) : آن ويژگی از يک شیء است که آن را از بقيه اشياء متمايز می سازد.

    حالت (State) :حالت يا وضعيت يک شیء در بردارنده تمام خواص (يا صفات ) آن شیء (معمولا ايستا) بعلاوه مقادير جاری (معمولا پويا) برای هر يک از اين خواص است.

    رفتار(Behavior) : چگونگی عمل و عکس العمل يک شیء در قالب تغيير حالت در مقابل دريافت و يا ارسال پيام را نمايش می دهد.

    اشياء به دو دسته تقسيم بندی می گردند:
    فعال (Active)
    غير فعال (Passive)
    شیء فعال با فرستادن پيام بر روی اشياء ديگر تاثير می گذارد و شیء غير فعال تاثير می پذيرد.
    چنانچه شی هم فعال و هم غيرفعال باشد ، عامل(Agent) ناميده می گردد.
    الگوريتم ها + ساختمان داده ها = شیء


    کلاس (Class):


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


    نماد کلاس در UML:


    زبان مدلسازی يکنواخت (Unified Modeling Language) جهت يکسان سازی نحوه نمايش مستندات نرم افزارها در محيط شیء گرا تعريف گرديده است .
    نماد کلاس در UML به صورت زير می باشد:



    کلاس (ادامه):


    به تعريف يک شیء در برنامه نويسی شیءگرا(OOP) ايجاد نمونه می گويند.



    صفات کلاس:


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


    عمليات کلاس(Operations):




    نوع داده مجرد (Abstract Data Type):


    معرفی اشيا از طريق بيان ساختار و رفتار آنها بدون توجه به چگونگی پياده سازی آنها همان مفهوم ADT است.

    همانگونه که قبلا ذکر گرديد در اغلب زبانهای OOP کلاس از دو قسمت واسط و پياده سازی تشکيل گرديده است.

    واسط يک کلاس مبين سرويسهائی است که يک کلاس به سرويس گيرندگان خود ارائه می نمايد. واسط شامل معرفی عمليات ، تعداد و نوع پارامترهای آن و بيان آنچه کلاس انجام می دهد بدون توجه به چگونگی پياده سازی آن است.متاسفانه در اکثر زبانهای برنامه نويسی OOPاز موارد فوق پشتيبانی نشده و بيان کار کلاس بصورت Comment می باشد. تکنولوژيهائی همانند CORBA از يک زبان تعريف واسط(IDL) استفاده می نمايند.

    مثال : واسط IStack (ايجاد کلاسی برای پياده سازی Stack)

    نخبه یعنی خودباوری انسان و پس از خود باوری کاری غیر ممکن نمی شود

  6. 4 کاربر از پست مفید Admin سپاس کرده اند .


  7. #24
    مدیر کـــــــل ســــایت
    رشته تحصیلی
    مهندسی کامپیوتر - نرم افزار
    اکانت شخصی
    ندارد
    نوشته ها
    7,883
    ارسال تشکر
    9,788
    دریافت تشکر: 29,042
    قدرت امتیاز دهی
    13974
    Array
    Admin's: جدید39

    پیش فرض

    مبانی شی گرائی

    (بخش دوم)

    ----------------------------------------------------------------------

    فهرست:


    - چگونگی برقراری روابط ميان اشياء

    - روابط ميان کلاسها


    ----------------------------------------------------------------------

    ارتباط بين اشياء:


    * ارتباط بين اشياء و استفاده از سرويسهای آنها از طريق مکانيزم تبادل پيام (Message Passing) صورت می پذيرد.

    * هر پيام عبارت از يک درخواست از طرف سرويس گيرنده به سرويس دهنده برای اجرای يک عمل می باشد.
    تطابق درخواست (Request) و امضای روش(Method Signature) می بايست در هر فراخوانی بررسی گردد.


    * سرويس دهنده به دو صورت می تواند نتايج را به سرويس گيرنده اعلام نمايد :
    با استفاده از مقدار بازگشتی
    با استفاده از تغيير مقادير پارامترها


    * در زمان اجرای برنامه به هر شیء حافظه ای تخصيص داده می شود که شامل جدولی بنام انتخاب کننده پيام (Message Selector) می باشد.

    * وظيقه جدول مذکور نگاشت نام عمل به آدرس شروع آن در حافظه اصلی می باشد.


    رابطه بين کلاسها:


    روابط اصلی بين کلاسها عبارتند از :

    رابطه انجمنی (Association Relationship)

    رابطه تجمعی (Aggregation Relationship)

    رابطه وراثت (Inheritance,Generalization/Specialization,IS-A Relationship)

    رابطه وابستگی(Dependency Relationship)

    رابطه انجمنی:


    روابط معنائی (Semantic)بين کلاسها می باشند .
    يک رابطه انجمنی به يک کلاس امکان می دهد تا درباره صفات و رفتار عمومی کلاس ديگر اطلاعات لازم را بداند.


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

    ايجاد و نگاهداری روابط انجمنی يک طرفه آسانتر می باشد. همچنين در روابط انجمنی يک طرفه کلاسهائی را که می توانند مجددا استفاده (reuse) گردند را آسانتر می توان پيدا نمود.


    در مثال فوق کلاس شخص از صفات و رفتار عمومی کلاس خانه اطلاع دارد.

    استفاده مجدد و روابط انجمنی:




    کد ايجاد شده برای يک رابطه انجمنی دو طرفه در ابزار Rose




    کد ايجاد شده برای يک رابطه انجمنی يک طرفه در ابزار Rose




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

    درجه کارديناليتی :

    نخبه یعنی خودباوری انسان و پس از خود باوری کاری غیر ممکن نمی شود

  8. 3 کاربر از پست مفید Admin سپاس کرده اند .


  9. #25
    مدیر کـــــــل ســــایت
    رشته تحصیلی
    مهندسی کامپیوتر - نرم افزار
    اکانت شخصی
    ندارد
    نوشته ها
    7,883
    ارسال تشکر
    9,788
    دریافت تشکر: 29,042
    قدرت امتیاز دهی
    13974
    Array
    Admin's: جدید39

    پیش فرض

    رابطه وابستگی:


    در مثال فوق شخص به خانه وابسته است.
    در رابطه انجمنی شخص يک صفت خانه را در خود دارد .برای ارسال پيام به خانه، شخص تنها به صفت خانه خود توجه می نمايد، ليکن در رابطه وابستگی شخص اين صفت را در خود ندارد و می بايست با استفاده از رويکردهای ديگر متوجه خانه شود .اين رويکردها عبارتند از :
    خانه بصورت سراسری(Global) تعريف شود.
    خانه به عنوان يک شی درون يکی از متدهای شخص ( بصورت محلی) تعريف گردد.
    خانه بصورت يک پارامتر به برخی از متدهای عضو شخص ارسال گردد.

    رابطه تجمعی:


    در اين رابطه يک کلاس از ترکيب تعدادی کلاس ديگر تشکيل شده است. ادبيات زير در شیء گرائی برای اين رابطه استفاده می گردد:
    )پايين به بالا)PART-OF
    )بالا به پايين) HAS-A
    مثال:
    A Car HAS-A Door
    A Tire is PART-OF a Car


    رابطه وراثت:


    همانگونه که ذکر نموديم سلسله مراتب عبارت است از مرتب ساختن تجريدها در سطوح مختلف.


    ادبيات زير در شی گرائی جهت اين نوع رابطه استفاده می گردد :
    )پايين به بالا) IS-A /Generalized-to
    (بالا به پايين) Specialized-to

    نخبه یعنی خودباوری انسان و پس از خود باوری کاری غیر ممکن نمی شود

  10. 5 کاربر از پست مفید Admin سپاس کرده اند .


  11. #26
    مدیر کـــــــل ســــایت
    رشته تحصیلی
    مهندسی کامپیوتر - نرم افزار
    اکانت شخصی
    ندارد
    نوشته ها
    7,883
    ارسال تشکر
    9,788
    دریافت تشکر: 29,042
    قدرت امتیاز دهی
    13974
    Array
    Admin's: جدید39

    پیش فرض

    فرايند USDP:

    فهرست:

    * خصايص پروژه های نرم افزاری موفق

    * محورهای اصلی USDP

    * تعريف مورد کاربری

    * مقدمه ای بر RUP

    -------------------------------------------

    فرايند USDP:

    USDP يک فرايند توليد نرم افزار است که روشي منظم جهت پشتيبانی از مفاهيم زير ارائه می نمايد:
    چه فعاليتهائی --- What - Activity
    کدام فراورده ها را --- Which – Artifact
    در چه زمانهائی --- When – Time
    توسط چه کساني --- Who - Role
    در چه مکانهايي --- Where
    چگونه --- How توليد می نمايد .

    فرايند USDP ضمن حمايت از شی گرائی از خصيصه های يک پروژه نرم افزاری موفق تبعيت می نمايد:



    توسعه تدريجی



    RUPبعنوان نمونه خاصی از USDP مطرح می گردد.


    توسعه تدريجی با نيازمنديهای متغير سازگار می باشد.
    در توسعه تدريجی معايب در چندين تکرار کشف و تصحيح می گردند.
    در توسعه تدريجی يکپارچه سازی در انتهای پروژه به يکباره صورت نمی پذيرد بلکه در پايان هر تکرار انجام می شود.

    مدلسازی بصری نرم افزار :

    در مدل جهت بررسی جنبه های مختلف مسئله از ديدهای مختلف (و با تجريد های متفاوت) به مساله نگاه می نماييم.
    Activity Diagram
    Use Case Diagram
    Sequence Diagram
    Collaboration Diagram
    Class Diagram
    Object Diagram
    State Diagram
    Component Diagram
    Deployment Diagram

    بوسيله مدل می توان سيستم را با درجه دلخواهی از تجريد توصيف نمود و طراحی سيستم را بصورتی قابل فهم انجام داد.

    نخبه یعنی خودباوری انسان و پس از خود باوری کاری غیر ممکن نمی شود

  12. 4 کاربر از پست مفید Admin سپاس کرده اند .


  13. #27
    مدیر کـــــــل ســــایت
    رشته تحصیلی
    مهندسی کامپیوتر - نرم افزار
    اکانت شخصی
    ندارد
    نوشته ها
    7,883
    ارسال تشکر
    9,788
    دریافت تشکر: 29,042
    قدرت امتیاز دهی
    13974
    Array
    Admin's: جدید39

    پیش فرض

    بررسی کيفيت نرم افزار


    کيفيت نرم افزار متعلق به بازه زمانی خاصی در نرم افزار نبوده بلکه بايد در تمام چرخه حيات نرم افزار اعمال گردد.


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

    مديريت پيکربندی:


    مديريت پيکربندی جهت کنترل خروجيهای متعدد توليد شده توسط افرادی که روی يک پروژه فعاليت می نمايند ، ضروری می باشد .
    مديريت پيکربندی جهت تشخيص ، سازماندهی و کنترل تغييرات در طول چرخه حيات نرم افزار مطرح می گردد.
    مثال : نسخه های چندگانه (Multiple Versions)
    می دانيم اکثر پروژه های بزرگ در نسخه های تکاملی توسعه می يابند. حال فرض نماييد در هنگامی که يک نسخه توسط مشتری استفاده می گردد ، نسخه دومی در حال تست و نسخه سومی در حال توليد می باشد. با پيدايش اشکال در هر کدام از نسخ ، اصلاحات می بايست در تمامی آنها اعمال گردد. لذا تغييرات با دقت بالا می بايست کنترل گردند.

    مديريت نيازمنديها:


    هر شرط يا قابليتی که سيستم می بايست آن را دارا باشد نيازمندی سيستم است..
    مدل مورد کاربری (Use Case Model) جهت تحليل نيازمنديها مفيد می باشد.


    محورهای اصلی USDP:


    * بر اساس موارد کاربری عمل مي نمايد .Use Case Driven
    * معماری را به عنوان نقطه اتکا قرار می دهد .Architecture Centric
    * از روش تکرار و توسعه تدريجی استفاده می نمايد.
    Iterative & Incremental Development

    مورد کاربری:


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


    RUP:


    RUP بعنوان نمونه ای خاص از USDP مطرح می گردد.







    نخبه یعنی خودباوری انسان و پس از خود باوری کاری غیر ممکن نمی شود

  14. 5 کاربر از پست مفید Admin سپاس کرده اند .


  15. #28
    مدیر کـــــــل ســــایت
    رشته تحصیلی
    مهندسی کامپیوتر - نرم افزار
    اکانت شخصی
    ندارد
    نوشته ها
    7,883
    ارسال تشکر
    9,788
    دریافت تشکر: 29,042
    قدرت امتیاز دهی
    13974
    Array
    Admin's: جدید39

    پیش فرض

    زبان مدلسازی يکپارچه و مباحث تکميلی در خصوص
    ارتباطات ميان کلاسها

    فهرست:

    * توسعه UML

    * ارتباطات ميان کلاسها (بخش تکميلی)

    ------------------------------------------------------




    توسعه UML:




    ارتباطات در نمودار کلاس
    (بخش تکميلی)

    ارتباطات انجمنی:

    ارتباطات انجمنی (Association Relationship) :
    ارتباطات ساختاری بين اشيا کلاسهای مختلف را نمايش می دهد .
    اشيا جهت برقراری تعامل نياز به مراجعه به يکديگر دارند.

    نام گذاری روابط انجمنی :

    يک رابطه انجمنی می تواند دارای يک نام يا يک نقش(Role) باشد . نامگذاری روابط با عناوين نقشها دارای ارجحيت بالاتری است.
    نام رابطه می بايست هدف رابطه را مشخص نمايد.

    اتخاذ نام جهت روابط انجمنی:


    نام رابطه چنانچه مناسب اتخاذ نگردد سبب ابهام می گردد.
    مثال :



    اتخاذ نقش جهت روابط انجمنی :
    عنوان نقش يک اسم می باشد که نقش اشيا را در مشارکت با يکديگر مشخص می نمايد.
    در اين راستا از گذاشتن عناوينی همانند : has يا contains که اطلاعاتی را جهت ارتباط بين کلاسها اضافه نمی نمايند ، اجتناب می نماييم.

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


    راهبری روابط انجمنی (Navigability) :
    مثال :


    روابط خود انجمنی (Self Associations) :
    يک نمونه از کلاس دارای دارای روابطی با نمونه های ديگر همان کلاس می باشد .
    مثال :

    [
    IMG]http://alladin.persiangig.ir/image/narm1/narm12/narm88.JPG[/IMG]
    پيوندها (Links ) :
    نمونه های منفرد يک رابطه انجمنی پيوند ناميده می شود . لذا پيوند يک ارتباط در بين نمونه ها می باشد .پيامها (Message) بر روی پيوندها ارسال می گردند .

    ارتباطات تجمعی:

    ارتباطات تجمعی (Aggregation Relationship) :
    رابطه تجمعی جهت مدل نمودن يک ارتباط ترکيبی (Compositional Relationship) بين عناصر مدل استفاده می گردد. به عنوان مثال :
    A library contains book
    Department are made-up of Employees
    A computer is composed of a number of devices

    مثال :


    ترکيب (Composition) :
    ترکيب يک نوع رابطه تجمعی می باشد که مفهوم مالکيت در آن تقويت گرديده است. به بيان ديگر تعريف تجمع بدون قطعات آن ناقص انجام می شود.
    مثال يک :


    مثال دو :


    خود تجمعی (Self – Aggregation)
    يک نمونه از کلاس ، از نمونه های ديگر کلاس تشکيل شده است.
    مثال :

    نخبه یعنی خودباوری انسان و پس از خود باوری کاری غیر ممکن نمی شود

  16. 4 کاربر از پست مفید Admin سپاس کرده اند .


  17. #29
    مدیر کـــــــل ســــایت
    رشته تحصیلی
    مهندسی کامپیوتر - نرم افزار
    اکانت شخصی
    ندارد
    نوشته ها
    7,883
    ارسال تشکر
    9,788
    دریافت تشکر: 29,042
    قدرت امتیاز دهی
    13974
    Array
    Admin's: جدید39

    پیش فرض

    نيازها و نمودار مورد کاربری کاری
    Requirements &Business Use Case Diagram



    ---------------------------

    فهرست:

    انواع نيازمنديها
    کدگذاری نيازمنديها
    روشهای استخراج نيازمنديها
    شناسايي محدوده سيستم
    نمودار مورد کاربری

    نيازمنديها:


    انواع نيازها
    وظيفه مندی --- Functionality
    غيروظيفه مندی يا کيفی --- Non Functionality
    برای هر نيازمندی يک کد مشخص می نماييم :
    Essential
    Optional
    Hidden


    کدگذاری نيازمنديها



    روشهای استخراج نيازمنديها:

    جهت استخراج نيازمنديها رويکردهای زير مطرح می گردد :
    مبتنی بر هدف
    مبتنی بر فرايند
    مبتنی بر وظيفه
    مبتنی بر سرويس


    استخراج نيازمندی مبتنی بر هدف:


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


    استخراج نيازمندی مبتنی بر فرايند:

    در استخراج نيازمندی بر اساس فرايندها ،سيستمها را بر اساس عملکردشان بررسی می نماييم . به بيان ديگر بر اساس عملياتی که بايد در سيستم کامپيوتری انجام شود نيازها را مشخص خواهيم نمود (روش تجزيه عمليات) .


    استخراج نيازمندي مبتنی بر وظيفه:


    در اين روش به کل سيستم به عنوان يک وظيفه نگاه نموده و سپس آن را به وظايف کوچکتری تقسيم خواهيم نمود تا نهايتا در برگها به وظايف افراد برسيم .



    تفاوت استخراج نيازمندي مبتنی بر فرايند و وظيفه:


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


    استخراج نيازمندي مبتنی بر سرويس:


    در ديدگاه شی گرا سرويسها برای ما حائز اهميت می باشند و نه اطلاعاتی که مبادله می گردند .هر سرويس را در اصطلاح يک مورد کاربری می گوييم. جهت شناسائی سيستم می بايست مشخص نمود سيستم چه سرويسهايي را ارائه / دريافت می نمايد. بدين ترتيب نيازها شفافتر می گردند.
    چنانچه يک سيستم را در نظر بگيريم در داخل خود اجزائی خواهد داشت که با يکديگر همکاری نموده تا نهايتا سرويس به خارج از سيسنم داده شود .
    با اندکی تامل ملاحظه می نماييم هر واحد بعنوان يک عامل (Actor) از عمليات واحد ديگر استفاده می نمايد تا سرويس مورد نظر را ارائه دهد.
    سرويسها را به دو دسته تقسيم می نماييم : داخلی و خارجی. سرويسهای داخلی غالبا فعاليتهايي جهت ارائه سرويسهای خارجی خواهند داشت.


    شناسايي محدوده سيستم:


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


    نمودار متن (مثال):




    نمودار متن جهت سيستم شعبه بانک
    نخبه یعنی خودباوری انسان و پس از خود باوری کاری غیر ممکن نمی شود

  18. 6 کاربر از پست مفید Admin سپاس کرده اند .


  19. #30
    مدیر کـــــــل ســــایت
    رشته تحصیلی
    مهندسی کامپیوتر - نرم افزار
    اکانت شخصی
    ندارد
    نوشته ها
    7,883
    ارسال تشکر
    9,788
    دریافت تشکر: 29,042
    قدرت امتیاز دهی
    13974
    Array
    Admin's: جدید39

    پیش فرض

    نماد در UML



    نماد مورد کاربری کاری (Business Use Case) :




    نماد عامل کاری (Business Actor) :





    نمودار مورد کاربری کاری (مثال)



    نمودار مورد کاربری کاری جهت حذف و اضافه


    تحليل نيازها:

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


    نمودار مورد کاربری
    Use Case Diagram



    مورد کاربری:


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

    * تعداد موارد کاربری در سيستم بايد منطقی باشد .
    * موارد کاربری می بايست از بعد تجاری نام گذاری گردند ، نه از ديدگاه فنی (نام مورد کاربری برای مشتری قابل فهم باشد) .
    * هر نياز وظيفه مندی می بايست حداقل در يک مورد کاربری وجود داشته باشد . در غير اين صورت نياز مربوطه توسط سيستم پوشش داده نمی شود.
    * به موارد کاربری می توان کليشه (Stereotype) و اولويت تخصيص داد . از کليشه ها جهت طبقه بندی موارد کاربری می توان استفاده نمود .


    مورد کاربری مجرد (Abstract Use Case):


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


    عامل مجرد (Abstract Actor):




    عامل مجرد مصداق واقعی ندارد .


    روابط قابل طرح جهت موارد کاربری و عاملها (در UML):


    Communication*
    Include*
    Extend*
    Generalizatio*

    Include Relationship

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



    موارد کاربری و رابطه ميان آنها در سيستم خودپرداز


    Extend Relationship

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



    موارد کاربری و رابطه ميان آنها


    ترسيم نمودار مدل مورد کاربری:


    تعيين محدوده سيستم (ترسيم نمودار متن و تعيين عاملهای خارجی)
    تعيين موارد کاربری موجود در سيستم
    ترسيم روابط


    نمودار مدل مورد کاربری:





    تقسيم بندی عمليات سيستم با استفاده از بسته ها (Packages)

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



    عمليات دانشجو
    نخبه یعنی خودباوری انسان و پس از خود باوری کاری غیر ممکن نمی شود

  20. 5 کاربر از پست مفید Admin سپاس کرده اند .


صفحه 3 از 6 نخستنخست 123456 آخرینآخرین

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •