بخشی از پاورپوینت

--- پاورپوینت شامل تصاویر میباشد ----

اسلاید 1 :

[1] Ambler, S. W., The Agile System Development Lifecycle (SDLC), Published on the Web at: http://www.ambysoft.com/essays/agileLifecycle.html, 2006, visited in: November 2007.

[2] Ramsin R., The Engineering of an Object-Oriented Software Development Methodology. PhD thesis, Y. ORK. UK. Department of Computer Science. April 2006.

[3] Ambler, S. W., More Process Patterns: Delivering Large-Scale Systems Using Object Technology. Cambridge University Press, 1999.

[4] Craddock, A., DSDM and Scrum: FAQ's - The similarities, differences and potential inter-operability issues, published on the Web at:

http://www.dsdm.org/news/article.asp?id=27, 2006, visited in: December 2007.

[5]R. A. Jeff Garland, Large-Scale Software Architecture, 2003.

[6]L. B. Paul Clements, Rick Kazman, Software Architecture in Practice, Addison Wesely, April 2003

اسلاید 2 :

در اوایل دهه 1990، افراد زیادی روی الگوهای طراحی کار می‌کردند،امّا دراواخر1994چهار نفر به نام های، گاما، جاکوبسون، هلم و ولسایدز بیشترین تأثیر را با انتشارکتابی به نام:

            "Design Pattern: Elements of Reusable Object-Oriented Software"، داشتند.

این چهار نویسنده به Gang-Of-Four = GOF مشهور شدند وبعضي به آن‌ها گروه گاما هم مي گويند. آن‌ها در این کتاب ايده استفاده از الگوها را در طراحی نرم‌افزار به کار بردند. و یک فرمت استاندارد را برای مستندسازی الگوها ایجاد کردند و 23 نوع از الگوها را دسته بندی کردند.

v (الگوهای بوجود آورنده  Creational Pattern)

 همه الگوها که در این دسته قرار می‌گیرند در ارتباط با روش‌های ایجاد اشیاء هستند

v (الگوهای ساختاری  Structural Patten)

 این نوع الگوها شرح می‌دهند چگونه اشیاء و کلاس‌ها می‌توانند

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

v (الگوهای رفتاری  Behavioral Pattern)

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

اسلاید 3 :

  • الگوها مجموعه‌اي از تجارب مهندسين ماهر نرم‌افزار را شامل مي‌شوند
    • الگوها تجارب موفّقِ اثبات شده در توسعه نرم‌افزار را ضبط مي‌كنند

    و به شما كمك مي‌كنند كه تكنيك‌هاي طراحي‌تان را افزايش بدهيد

    • الگوها در مورد يك مسأله خاص تكرار شونده در طراحي و يا پياده‌سازي سيستم نرم‌افزاري بحث مي‌كند
    • الگوها مي‌توانند معماري نرم‌افزار را با ويژگي‌هاي خاصّي بوجود آورند
      • الگوها داراي راه حل‌هايي براي بسياري از مشكلات طراحي هستند

      كه ممكن است دوباره ظاهرشوند

اسلاید 4 :

دراغلب حوزه‌ها مانند معماري، اقتصاد، و مهندسي نرم‌افزار ‌نوعي (رفتارخبره Expert Behavior) فكركردن به جفت ( مسأله- راه حل Problem-Solution)، وجود دارد،اين يك روش طبيعي براي كنار آمدن با هرنوع مسأله يا تعامل اجتماعي است

v توجه به نوع مسأله و راه حل آن و در نظرگرفتن برخي فاكتورها منجر به ايجاد الگوها مي‌شود

v جفت (Problem-Solution ) منجر به تشكيل خانواده‌اي از مسائل مشابه و راه حل‌هايي

براي هر خانواده مي‌شود كه اين نشانگر يك الگو از مسائل و راه حل‌ها است

اسلاید 5 :

در اوایل دهه 1990، افراد زیادی روی الگوهای طراحی کار می‌کردند،امّا دراواخر1994چهار نفر به نام های، گاما، جاکوبسون، هلم و ولسایدز بیشترین تأثیر را با انتشارکتابی به نام:

            "Design Pattern: Elements of Reusable Object-Oriented Software"، داشتند.

این چهار نویسنده به Gang-Of-Four = GOF مشهور شدند وبعضي به آن‌ها گروه گاما هم مي گويند. آن‌ها در این کتاب ايده استفاده از الگوها را در طراحی نرم‌افزار به کار بردند. و یک فرمت استاندارد را برای مستندسازی الگوها ایجاد کردند و 23 نوع از الگوها را دسته بندی کردند.

v (الگوهای بوجود آورنده  Creational Pattern)

 همه الگوها که در این دسته قرار می‌گیرند در ارتباط با روش‌های ایجاد اشیاء هستند

v (الگوهای ساختاری  Structural Patten)

 این نوع الگوها شرح می‌دهند چگونه اشیاء و کلاس‌ها می‌توانند

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

v (الگوهای رفتاری  Behavioral Pattern)

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

اسلاید 6 :

 Christopher Alexander دركتاب  The Timeless Way of Buildingمي‌نويسد:

v هر الگو يك قاعده سه بخشي است كه رابطه‌اي بين:

يك (زمينه خاصContext )، يك (مسأله Problem) و يك (راه حل Solution) را بيان مي‌كند.

v الگو به عنوان يك (مؤلفه Element)

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

v الگو به عنوان مؤلفه زبان، يك (دستورالعمل Instruction) است

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

v الگو يك (شيي Thing) است

كه در دنياي واقعي رخ مي‌دهد،ويك قاعده است كه به ما مي‌گويد كه چگونهو چه زماني بايد آن‌را بسازيم

v الگو به عنوان يك(فرايند Process)و هم يك شي:

توصيفي از يك فرايندي است كه آن شيي را توليد خواهد كرد

اسلاید 7 :

  • يك الگو مسأله طراحي(دوباره ظاهرشونده‌اي Recurring design problem) را مشخص مي‌كند

كه در(موقعيت طراحي مشخصي Specific design situation) رخ دهد، ويك راه (حل Solution)

براي آن (نشان Present) مي‌دهد

  • الگوها (تجارب طراحي خوب اثبات شده و موجود Existing , well-proven design experience)

 را (مستند Document) مي‌كند.

  • يك الگو(تجريدهايي Abstraction) را (شناسايي Identify) و (مشخص Specify) مي‌سازند

كه اين تجريدها بالاي سطح (كلاس‌هاي منفرد Single classes) و (نمونه‌ها Instances) و يا

كامپوننت‌ها قرار مي‌گيرند

  • يك الگو چندين كامپوننت، كلاس يا اشيا را تشريح مي‌كند و مسئوليت‌ها و روابط بين آن‌ها و نيز

نحوه همكاري آن‌ها را با جزئيات بيان مي‌كند

  • يك الگو(واژگان Vocabulary )و فهم عمومي براي (اصول طراحي Design principle)تهيه مي‌كند

اسلاید 8 :

  • الگوها به شما كمك مي‌كنند كه معماري نرم‌افزار پيچيده و ناهمگن ايجاد نماييد
  • الگوها ساختن نرم‌افزار با ويژگي‌هاي تعريف شده را پشتيباني مي‌كنند
  • الگوها كمك مي‌كنند كه بتوانيد پيچيدگي نرم‌افزار را مديريت نماييد
  • الگوها وسيله‌اي براي مستند نمودن معماري نرم‌افزار مي‌باشند

اسلاید 9 :

  • سبك‌هاي معماري نيز به همان روش الگوها به منظورحل برخي مسائل و ويژگي‌هاي‌كيفي تعريف مي‌شوند
  • سبك‌ها راه حل‌ها نمي‌باشند بلكه چارچوبي براي راه حل‌ها مي باشند
  • سبك چيدمان و فضاي مسأله را مشخص مي‌نمايد و الگو نحوه ارتباطات و الگوريتم‌ها را مشخص مي‌سازد
  • انتخاب يك سبك محدود به حوزه فضاي راه حل مي‌باشد، بنابراين پيچيدگي فرايند شكل مناسب را كاهش مي‌دهد
  • انتخاب الگو محدود به حوزه فضاي راه حل نمي‌باشد، لذا پيچيدگي فرايند‌‌ شكل‌ِمناسب‌كاهش‌پيدا نمي‌كند

اسلاید 10 :

متدولوژی‌های چابک در اواسط دهه نود معرفی شدند و عمدتاً بر پايه اصول و قواعدی برای طراحی، برنامه‌سازی، و تست می‌باشند که منجر به افزايش انعطاف پذيری و کاربری فرايند توسعه

سيستم های نرم‌افزاری می شوند. اکثراً متدولوژی‌های چابک دارای فرايندی  سبک وزن  می‌باشند

متدولوژي چابك متعددند، ودر اين‌جا نام هفت متدولوژی های چابک معروف را ذكرمي‌كنيم

  1. متدولوژيDSDM
  2. متدولوژيScrum
  3. متدولوژيXP
  4. متدولوژيASD
  5. متدولوژيdX
  6. متدولوژي كريستال شفافCrystal clear
  7. متدولوژيFeature Driven Development FDD
در متن اصلی پاورپوینت به هم ریختگی وجود ندارد. برای مطالعه بیشتر پاورپوینت آن را خریداری کنید