دانلود تحقیق آموزش UML

Word 7 MB 18308 102
مشخص نشده مشخص نشده کامپیوتر - IT
قیمت قدیم:۳۰,۰۰۰ تومان
قیمت: ۲۴,۸۰۰ تومان
دانلود فایل
  • بخشی از محتوا
  • وضعیت فهرست و منابع
  • مقدمه ای بر متد Obiect-Oriented (شیءگرایی)
    شیءگرایی (Object-Oriented) لغتی است که امروزه در صنعت نرم افزار، باب شده است.

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


    متد شیءگرایی (O.O) یک راه متفاوت مشاهده برنامه هاست.

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

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


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

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

    به محض اینکه تعدادی آبجکت های اساسی را در دنیای کامپیوتر ساختید یا بدست آوردید، می توانید به سادگی آنها را کنار هم بگذارید تا برنامه‌های جدید ایجاد را کنید.

    یکی از امتیازات اساسی متد شیءگرایی این است که می توانید یک بار Component (اجزاء) را ساخته و بارها و بارها از آنها استفاده کنید.

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


    تفاوت متد شیءگرایی با روش سنتی توسعه، چیست؟

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

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

    این روش data-centric (مبتنی بر داده) نامیده شده است و برای ایجاد هزاران سیستم در سال، ایجاد شده است.

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

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

    سیستمی که از روش data-centric استفاده می نماید، می تواند به آسانی تغییر در پایگاه داده را مدیریت کند.

    اما اجرای تغییرات در قوانین تجاری یا رفتار(behavior) سیستم آن قدر آسان نمی باشد.

    متد شیءگرایی در پاسخ به این مشکل، ایجاد شده است.

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

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

    این مطلب، به شناخت تعدادی اصول شیء گرایی نیاز دارد.

    نهان سازی (Encapsulation) وراثت(Inheritance) و چند ریختی (Polymorphism).

    Encapsulation (نهان سازی)
    در سیستمهای شیءگرا، اینها (اطلاعات و رفتارها) را در یک آبجکت بسته بندی می کنیم.

    این مطلب در قالب اطلاعات Encapsulation (پنهان سازی) ارجاع داده شده است.

    راه دیگر برای نگاه کردن به توابع وابسته، این است که برنامه را به بخشهای کوچکی از توابع وابسته، تقسیم کنیم.

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

    همچنین رفتارهایی را برای یک حساب بانک داریم مانند: باز کردن یک حساب ، بستن حساب، به حساب گذاشتن، برداست از حساب، تغییر نوع حساب، تغییر مشتری و تغییر آدرس.

    ما این اطلاعات و رفتارها را با هم در یک آبجکت account پنهان می کنیم.

    در نتیجه همه تغییرات سیستم بانکی مربوط به حسابها، می توانند به آسانی در آبجکت حساب انجام شوند.



    مزیت دیگر پنهان سازی این است که تأثیرات اعمال شده به سیستم را محدود می کند.

    به یک سیستم به عنوان بستری از آب و به تغییر درخواستها مانند یک صخره بزرگ نگاه کنیم.

    شما صخره را در آب می اندازید و امواج بزرگی در همه جهتها ایجاد می شوند.

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

    بعبارت دیگر، برخورد صخره با آب باعث ایجاد میزان زیادی موج های کوچک شده است.

    حال دریاچه خود را پنهان می کنیم.

    تدین ترتیب که آن را به تکه های کوچکتری از آب با موانعی میان آنها تقسیم می کنیم.

    سپس، ضربات سیستم را تغییر می دهد.

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

    اما اکنون، امواج فقط می توانند از یکی از موانع عبور نماید.

    و سپس متوقف می گردند.

    بنابرین، با نهان سازی دریاچه، ما تاثیر موج کوچک حاصل از انداختن صخره در آب را محدود کرده ایم.
    مـزیت دیگر پنهان سازی این است که تأثیرات اعمال شده به سیستم را محدود می کند.

    بنابرین، با نهان سازی دریاچه، ما تاثیر موج کوچک حاصل از انداختن صخره در آب را محدود کرده ایم.

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

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

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

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

    اگر کار به درستی انجام شده باشد، احتمالاً 80 % موارد برداشت از حساب را در سیستم پیدا کرده ایم.

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

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

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

    همان گونه که در شکل زیر می بینید، فقط کلاسAcount نیاز به تغییر دارد.

    یک مفهوم مشابه نهان سازی، Information Hiding (پنهان سازی) می باشد.

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

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

    پنهان سازی اطلاعات (Information Hiding) همان مزیت نهان سازی (Encapsolation) را فراهم می کند.

    Inheritance (وراثت) Inheritance (وراثت) دومین مفهوم اساسی شیءگرایی می باشد.

    در سیستمهای شیءگرا به شما اجازه می دهد تا آبجکت های جدید را بر پایه آبجکت های قدیمی ایجاد کنید.

    آبجکت child (فرزند) ویژگیهای یک آبجکت parent(والد) را به ارث می برد.

    شما می توانید نمونه هایی از وراثت را در دنیای طبیعی ببینید.

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

    هر یک از اینها ویژگیهای مشخصی دارند که منحصر به فرد بوده و این ویژگیهای مشخص مانند داشتن مو، خونگرم بودن و غذا دادن به بچه ها، در کل گروه مشترک می باشد.

    در اصطلاحات شیءگرایی یک آبجکت بنام mammal (پستاندار) وجود دارد که ویژگیهای مشترک را نگه می دارد.

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

    آبجکت سگ(dog) ویژگیهای آبجکت پستاندار (mammal) را به ارث می برد، مانند دویدن در دایره ها (حلقه ها) و ریختن آب از لب و لوچه.

    متد شیءگرایی ایده وراثت را از دنیای طبیعی گرفته است.

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

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

    یکی از مزایای اصلی وراثت، سهولت در نگهداری است.

    وقتی چیزی تغییر می کند و برهمه پستانداران اثر می گذارد، فقط آبجکت والد نتاز به تغییر دارد و آبجکت های فرزند به طور خودکار تغییرات را به ارث می برد.

    اگر پستانداران به طور ناگهانی خونسرد شوند، فقط پستاندار (mammal) باید تغییر نماید.

    گربه، سگ، انسان، نهنگ و دیگر آبجکتهای فرزند به طور خودکار ویژگی جدید خونسرد بودن پستانداران را به ارث می برند.

    در یک سیستم شیءگرا یک مثال می تواند پنجره ها باشند.

    سیستمی بزرگ دارای 125 تابلو داریم.

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

    در یک سیستم بدون وراثت، ما کار خسته کننده ای داریم که باید به هر یک از این 125 تابلو رفته و تغییر را در آن ایجاد کنیم.

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

    همه تابلوها به طور خودکار تغییرات را به ارث می برند.

    همانطور که در شکل زیر می بینید.

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

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

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

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

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

    آبجکت های فرزند (child) می توانند علاوه بر ویژگیهایی که به ارث برده اند، ویژگیهای منحصر به فرد خودشان را داشته باشند.

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

    سپرده گذاری نیز دارای یک موعود پرداخت می باشد.

    تغییرات آبجکت والد بر روی همه فرزندان اثر خواهد گذاشت، اما بچه‌ها آزاد هستند که بدون به هم زدن آرامش فرزند دیگر یا والدشان تغییر نمایند.

    ‍Polymorphism(چند ریختی) سومین اصل شیءگرایی Polymorphism (چند ریختی) است.

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

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

    همانند وراثت چند ریختی نیز در دنیای طبیعی دیده می شود.

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

    چند ریختی در اصطلاحات یک سیستم شیءگرایی به این معنی است که ما می توانیم بسیاری از رخدادها یا پیامدهای یک عمل ویژه را داشته باشیم.

    مثلاً، ممکن است یک سیستم رسم اشکال گرافیکی را بسازیم.

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

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

    بنابراین وقتی که کاربر می خواهد یک دایره را بکشد، فرمان رسم آبخکت دایره (draw) درخواست خواهد شد.

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

    بدون چند ریختی، کد تابع draw ممکن است مانند زیر باشد.

    Function Shape.drawMe() { CASE Shape.Type Case “Circle“ Shape.drawCircle(); Case “Rectangle“ Shape.drawCircle(); Case “Line“ Shape.drawCircle(); END CASE } با چند ریختی، کد draw باید توسط تابع drawme() برای آبجکت طراحی شده فراخوانی شود.

    مانند این مثال: Function draw () { Shape.drawme(); } هر شکلی (دایره، خط وغیره) باید تابع drawMe را داشته باشد تا شکل بخصوصی را بکشد.

    یکی از مزایای چند ریختی مانند دیگر اصول شیءگرایی، نگهداری است.

    زمانی که لازم است تا برنامه یک مثلث را رسم نماید، چه اتفاقی می‌افتد؟

    در موردی که از چند ریختی استفاده نشده است یک تابع darw triangle() جدید به آبجکت shape اضافه شده است.

    همچنین تابع drawme() آبجکت shape تغییر کرده است تا با نوع جدید شکل سازگار شود.

    با چند ریختی ما یک آبجکت triangle (مثلث) جدید را درون تابع drawMe() ایجاد می کنیم تا خودش را رسم نماید.

    تابع Draw() که عملگرهای طراحی را اجرا می نماید اصلاً نباید تغییر کند.

    مدلسازی بصری (Visual Modeling) چیست؟

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

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

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

    مدل ها در دنیای نرم افزار همان کار را برای ما انجام می دهند.

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

    یک طرح کلی به شما کمک می کند تا یک چیز اضافی را قبل از اینکه بسازید، طراحی کنید.

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

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

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

  • مقدمه ای بر متد Obiect-Oriented (شیءگرایی) 1
    Encapsulation (نهان سازی) 3
    Inheritance (وراثت) 6
    ‍Polymorphism(چند ریختی) 9
    مدلسازی بصری (Visual Modeling) چیست؟ 12
    Booch, OMT, and UML 14
    نمودارهای UML 15
    نمودارهای Use Case 16
    نمودارهای CLASS (کلاس) 17
    نمودارهای حالت (State Transition Diagrams) 20
    مدلسازی بصری و پردازش تولید و توسعه نرم‌افزار 23
    شناخت Inception 27
    Iteration One Use Cases 1.5.6 28
    مهارت Elaboration 29
    ساختار Construction 30
    انتقال Transition 32
    Rational Rose چیست؟ 33
    پرداختن به Rational Rose 39
    بخش‌های صفحه نمایش 40
    چهار نمای موجود در یک مدل Rose 40
    نمای منطقی 41
    نمای Component 42
    نمای Deployment 42
    کار با برنامه Rational Rose 43
    ایجاد مدل‌ها 43
    واردکردن و ارسال مدل‌ها 44
    انتشار مدل‌ها بر روی وب 45
    کار با واحدهای کنترل شده 46
    نمای Use case 47
    نمودارهای Rational rose 48
    کار با Use case 51
    مستند سازی جریان رخدادها (Flow of Event) 55
    تعریف (descripition) 56
    پیش شرایط (Precondition) 57
    Post Conditions (شرایط پسین) 62
    کار کردن با عامل ها (Actor) 62
    ساخت یک عامل Abstract 64
    چگونگی کار با رابطه ها 65
    نمودارهای Interaction 67
    یک Object چیست؟ 68
    یک کلاس چیست؟ 70
    یافتن آبجکت ها 71
    استفاده از نمودارهای Interaction 73
    نمودارهای Sequence 75
    نمودارهای Collaboration 77
    نمای Logical(منطقی) یک مدلRose 78
    نمودارهای class 79
    استفاده از صفات 81
    یافتن صفات 81
    تنظیم Visibility صفت 85
    یافتن عملیتها 89
    نمودارهای تغییر حالت(State Transition) 91
    فعالیت(Activity) 93
    Action ورودی (Entry Action) 93
    Action خروج (Exit Action) 94
    رخداد(Event) 95
    Action 96
    حالت آغازین(Start State) 97
    حالت پایانی 97
    استفاده از حالات تو در تو (Nested State) 98
کلمات کلیدی: uml - آموزش UML - شیءگرایی

تحقیق دانش آموزی در مورد دانلود تحقیق آموزش UML , مقاله دانشجویی با موضوع دانلود تحقیق آموزش UML , پروژه دانشجویی درباره دانلود تحقیق آموزش UML

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

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

UML به افراد اجازه می دهد تا چندین نوع مختلف از نمودارهای بصری را به وجود آورند که جنبه های مختلف سیستم را نمایش می دهد . Rational Rose از ایجاد اکثر این مدلها ، همانطور که در زیر آمده ، پشتیبانی می کند . - نمودار Use Case - نمودارهای Sequence(توالی) - نمودار Collabration(همکاری) - نمودار Class (کلاس) - نمودار State Transition (حالت) - نمودار Deployment این نمودارهای مدل ، جنبه ...

1 مقدمهusecase ها با توجه به مفاهیم کلاس‌ها مورد مهمی در uml را بررسی می‌کنیم که همان usecase ها هستند. دراین فصل موضوعات زیر مطرح می‌شوند : • usecase چیست • ساختن یک usecase • محتویات یک usecase • extend یک usecase‌ • تحلیل یک usecase در گذشته با دیاگرام‌هایی برخورد کردیم که دیدگاه ثابتی در مورد کلاس‌های سیستم ارائه می‌کرد. به سراغ دیاگرام‌هایی می‌رویم که دیدگاهی پویا ارائه ...

زبان مدل سازی یکپارچه (UML) زبانی است برای مشخص سازی ، مجسم سازی ، ساخت و مستند سازی دست آوردهای سیستم های نرم افزاری و مدل سازی و کار و دیگر سیستمهای غیر نرم افزاری . Uml مجموعه ای از بهترین تجربیات مهندسی که موفقیتشان در مدل سازی سیستمهای بزرگ و پیچیده به اثبات رسیده است را عرضه می دارد. تعریف UML شامل اسناد زیر می گردد : معنا شناسی UML : که مفاهیم غنی و دستور نگارش وعلا ئم ...

زبان مدل‎سازی یکنواخت (UML) : زبان مدلسازی یکنواخت یا، Unified Modeling Language (UML) یک زبان مدلسازی است که برای تحلیل وطراحی سیستمهای شی‌گرا بکار می‌رود. UML اولین بار توسط شرکت Rational ارائه شد و پس از آن از طرف بسیاری از شرکت‌های کامپیوتری و مجامع صنعتی و نرم‌افزاری دنیا مورد حمایت قرار گرفت؛ به طوریکه تنها پس از یک سال، توسط گروه Object Management Group ، به عنوان زبان ...

چکیده: در مدل سازی شیئ‌ گرای نرم افزار با استفاده ازUML چهره‌هایی مختلف یک سیستم با استفاده از دیاگرامهای مختلف نمایش داده می‌شوند. ساختار پایدار سیستم از طریق دیاگرامهای کلاس واکنش بین قطعات مختلف مدل از طریق دیاگرام‌های کنش مثل دیاگرام‌ های توالی و دیاگرانم‌های همکاری نمایش داده می‌شود. بنابراین یک مدل کامل شامل چندین دیاگرام از انواع مختلف می‌باشد. بنابراین سازگاری بین ...

: مفاهیم شیء گرایی مقدمه شئ گرایی برای توسعه نرم افزار اولین بار در سال 1960 پیشنهاد شد، این روش پس از 20 سال به طور گسترده مورد استفاده جامعه نرم افزاری قرار گرفت. توسعه دهندگان نرم افزار در دهه 1980 توجه جدی خو د را روی شئ گرایی معطوف کردند. تکنولوژی شئ، قابلیت استفاده مجدد را برای مؤلفه های نرم افزاری به ارمغان آورد و این نیز به نوبه خود در تسریع توسعه نرم افزار و تولید محصول ...

Microsoft visual stadio . net Visual stadio . net ( vs . net ) جدیدترین ابزار برنامه سازی شرکت مایکروسافت و شکل گرفته بر اساس فناوری نوین . net است . فناوری . net رویکرد جدید مایکروسافت برای تولید نرم افزار است و بر تمام برنامه ریزیهای مایکروسافت برای آینده بر مبنای آن خواهد بود . موفقیت . net تا به آن حد بود که شرکتهای دیگری مثل بورلند نیز به آن روی آورده اند . از بعد دیگر می ...

پیچیدگی در نرم افزار بدلیل تفاوت ذاتی بین نرم افزار و سخت افزار پیچیدگی خاصی در ابعاد مختلف از جمله تعریف نرم افزار، طراحی و پیاده‌سازی، تست و نگهداری آن وجود دارد که: با پیچیدگی سیستم‌های طبیعی و محصولات فیزیکی ساخت است بشر متفاوت است. یک خاصیت ذاتی سیستمهای نرم افزاری بزرگ بنابراین نمی‌توان این پیچیدگی را از بین برد بلکه باید آنرا کنترل نمود. انواع پیچیدگی: intelleictually ...

ثبت سفارش