491 likes | 753 Views
متدولوژی CDM با رویکردهای CLASSIC و FAST TRACK. مهندسی نرم افزار 2 ، دکتر کاویانی پویا روحی. درباره چه چیزی ؟. مقدمه ای درباره ی CDM تعریفی از متدولوژی CDM فازهای CDM فرآیندهای CDM نکاتی دیگر درباره ی CDM CDM با نگرش Fast Track فازهای CDM Fast Track
E N D
متدولوژی CDM با رویکردهای CLASSIC و FAST TRACK مهندسی نرم افزار 2 ، دکتر کاویانی پویا روحی
درباره چه چیزی ؟ • مقدمه ای درباره ی CDM • تعریفی از متدولوژی CDM • فازهای CDM • فرآیندهای CDM • نکاتی دیگر درباره ی CDM • CDM با نگرش Fast Track • فازهای CDM Fast Track • فرآیندهای CDM Fast Track • تکنیک های CDM Fast Track • مزایا و معایب CDM FAST TRACK • مزایای CDM Fast Track نسبت به CDM و SSADM
مقدمه ای درباره ی CDM • CDM یک روش کامل برای ارائه ی راه حل های کاربردی کامپیوتری در چرخه ی حیات است و راهنمایی برای تولید موفق سیستم ها می باشد • نسخه ی دوم CDM دارای دو رویکرد اصلی است : • CDM Classic • CDM Fast Track • تفاوت از لحاظ مدیریتی بین این دو رویکرد • CDM Classic روش مستقیمی است در جهت اینکه بین فازها تمایز مستحکمی ایجاد نماید
مقدمه ای درباره ی CDM • CDM Fast Track روشی برای توسعه ی سریع نرم افزار بر مبنای DSDM (روش تولید سیستم های دینامیک) می باشد که به وسیله ی نمونه سازی ، تولید و ارائه ی تکراری افزایش ، جعبه زمان ، اولویت بندی و در راستای هدف مشخص می شود • CDM Fast Track ، استانداردهای CDM و راهنما (که شامل جزئیات راهنمایی و استانداردهایی برای استفاده از ابزار Oracle می باشد) را در بر دارد
تعریفی از متدولوژی CDM • CDM (Custom Development Method) مجموعه ای ساختیافته برای توسعه ی سیستم های اطلاعاتی • تمام چرخه حیات توسعه ی سیستم در این متدولوژی پوشش داده می شود • نگرش های زیادی از تولید و توسعه ی نرم افزار توسط این متدولوژی پشتیبانی می شود • CDM برای پروژه های متوسط و بزرگ تدوین شده ، ولی برای پروژه های کوچکتر نیز قابل استفاده می باشد
تعریفی از متدولوژی CDM • این متدولوژی با استفاده از Oracle Repository و Oracle Database به صورت موثرتری عمل خواهد کرد • هر واحد کاری یا به عبارتی وظیفه ای که از نظر تکنیکی و فنی به هم وابسته هستند، در مجموعه ای تحت عنوان فرآیند قرار می گیرد • هر فرآیند ، انتظامی از مهارت های مشابه، برای انجام وظایف مشخصی می باشد • هر یک از فرآیندها در فازهایی دسته بندی می شوند
فازهای CDM • در هر فاز کیفیت و نقاط کنترل برای هماهنگی فعالیت هایی با مقاصد مشترک ارائه می شود • در طول فازها تکالیفی از فرآیندهای مختلف توسعه ی سیستم اجرا می گردد • CDM دارای 6 فاز زیر می باشد: 1- فاز تعریف (Definition) 2- فاز تحلیل (Analysis) 3- فاز طراحی (Design) 4- فاز ساخت (Build) 5- فاز انتقال (Transition) 6- فاز بهره برداری (Production)
فازهای CDM • فاز تعریف • هدف این فاز، تعیین نیازمندی های سازمان و سیستم های اطلاعاتی ، در بالاترین سطح است • در انتهای این فاز نتایج حاصل در محدوده ی پروژه به روشنی و قابل دسترس تعریف می گردند • در انتها برای آغاز فاز تحلیل تایید مدیریت اخذ می شود
فازهای CDM • فاز تحلیل • تنظیم رسمی نیازمندی های تفضیلی، برای سیستم های کاربردی کامپیوتری • بررسی حوزه های کسب و کاری سازمان که قبلا در فاز تعریف معین شده است • رائه ی مدل های دقیق تراز کار سازمان و استفاده ی اطلاعات در سازمان توسط اعضای تیم تحلیل • تعریف معماری فنی که مورد نیاز برای اجرای سیستم است و پیشنهاد استراتژی انتقال به آن سیستم ها
فازهای CDM • فاز طراحی • در این فاز با توجه به معماری فنی (که در فاز قبل به دست آمده) و فن آوری های در دسترس ، نیازمندی های فاز تحلیل را گرفته و به مشخصات تفصیلی سیستم تبدیل می کنیم
فازهای CDM • فاز ساخت • کد کردن برنامه های کاربردی (به وسیله ی یک زبان برنامه نویسی) • تست کردن برنامه های کاربردی با استفاده از تکنیک های مناسب
فازهای CDM • فاز انتقال • نصب سیستم کاربردی • آماده سازی پرسنل مشتری (دوره های آموزشی، ایجاد کاتالوگ و ...) برای استفاده و راهبری سیستم • تست های پذیرش
فازهای CDM • فاز بهره برداری • پشتیبانی از سیستم ارائه شده • اطمینان از اجرای روان برنامه های کاربردی • طرح ریزی برای توسعه ی کارکردی سیستم در آینده
فازهای CDM هر فاز حاوی موارد زیر می باشد : • وظایف تفکیک شده • خرجی ها • تخمین زمان برحسب فرآیند و بازیگران پروژه • زمان بندی نمودار گانت • پیشنهاد زمانبندی • جایگزینی نیرو
فرآیندهای CDM • یک فرآیند از مجموعه ای از وظایف (تکالیف) وابسته و مرتبط به هم تشکیل شده است که برای حصول به هدف مشخصی تدوین گشته است . هر فرآیند باعث به وجود آمدن خروجی یا خروجی هایی می گردد • CDM یک متدولوژی فرآیندگراست . بیشتر فرآیندها در CDM با یکدیگر همپوشانی زمانی دارند و از طریق خروجی ها به هم مربوط می باشند
فرآیندهای CDM فرآیندها در CDM : 1-تعریف نیازمندیهای کسب و کار(Business Requirements Defenition) - تعریف نیازهای کسب و کار برای ساخت سیستم های کاربردی - ابتدا تیم تحلیل مدل فرآیندی کسب و کار را ارائه می کند (تمامی وقایع ، پاسخ وقایع و برنامه های کاربردی که آنها را پشتیبانی می کنند) - سپس مدل داده ای و کارکردی کسب و کار ایجاد می گردد که دارای جزئیات بیشتری است - و در نهایت نیازهای فن آوری را نیز به آن اضافه می کنند
فرآیندهای CDM 2- بررسی سیستم موجود (Existing System Examination) - اگر سیستم قدیمی موجود نباشد، بسیاری از تکالیف این فرآیند حذف می گردد - اگر مدارک فنی موجود باشد این فرآیند سریعتر انجام می شود
فرآیندهای CDM 3- معماری فنی (Technical Architecture) - عناصر فنی پیکره ی سیستم مشخص می گردند - با طرح ریزی اولیه شروع می شود و بتدریج به اطلاعات آن افزوده می شود - دارای 2 خروجی است : اول زیر ساخت های نرم افزاری و سخت افزاری و قسمت دیگر معماری توزیعی سیستم است - استراتژی کنترل و امنیت و همچنینInterface پشتیبانی نیز تهیه می گردد
فرآیندهای CDM 4- طراحی و ساخت پایگاه داده (Database Design & Build) - با ایجاد پایگاه داده منطقی از روی مدل داده ای سیستم شروع و با تکمیل تعریف داده های پایگاه داده برای بهره برداری خاتمه می یابد
فرآیندهای CDM 5- طراحی و ساخت ماژول ها (Module Design & Build) - قلب پروژه های CDM طراحی و ساخت ماژول ها است - با استفاده از مدل فرآیندی سیستم، مدل داده ای سیستمو مدل کارکردی سیستم به همراه معماری فنی، مدل فرآیندی ماژول را طراحی می کنند - سپس برنامه نویسان با استفاده از مدارک طراحی و یا نمونه سازی، شروع به کد نویسی می نمایند
فرآیندهای CDM 6- تبدیل داده ها (Data Conversion) - انتقال ، تبدیل و آزمون داده های موجودی است که برای آزمون یا کار عملیاتی برنامه های کاربردی مورد نیاز است 7- مستندسازی (Documentation) - بر روی تهیه ی مستندات متنی با کیفیت بالا تمرکز دارد - 2 مستند برای کاربران تهیه می شود که یکی مرجع و دیگری راهنمای کاربران است
فرآیندهای CDM 8- تست (Testing) - آزمون کارکرد ماژول ها - تست همبستگی ماژول ها در سطح کسب وکار - تستهمبستگی سیستم ها - تست پذیرش تمام تست ها توسط مدل فرآیندی هدایت می شوند تا چهارچوبی برای یک تکیه گاه قابل پیگیری برای نیازمندی های کسب و کار باشد
فرآیندهای CDM 9- آموزش (Training ) - برای اجرای سیستم جدید ، کاربران باید آموزش ببینند 10- انتقال (Transition) - مجموعه عملیاتی که به منظور تغییر و تحول از سیستم قدیمی به سیستم جدید انجام می گیرد(مثل نصب، تهیه محیط بهره برداری ، کنار زدن سیستم های قدیمی و ...)
فرآیندهای CDM 11- پشتیبانی بعدی سیستم (Post-System Support) - پاسخگویی به مشکلات و بروز رسانی کارکردها - درست نمودن خطاها برای افزایش کارایی - ارزیابی سیستم در هنگام بهره برداری - طرح ریزی برای گسترش
نکاتی دیگر درباره ی CDM • تخمین هزینه و زمان در روش CDM روش پایین به بالا : در این روش کار به قسمت های جزئی تقسیم شده و هزینه (زمان) هر جزء محاسبه می گردد و با استفاده از آنها و روابط و فرمول های مناسب هزینه (زمان) کل محاسبه می گردد
نکاتی دیگر درباره ی CDM • در مدلی از تخمین هزینه ها برای پروژه های با اندازه ی متوسط که شرکت اوراکل ارائه کرده است ، فاز ساخت بیشترین زمان از کل پروژه را به خود اختصاص می دهد و طراحی و ساخت ماژول ها هم بالاترین میزان فعالیت را دارد
نکاتی دیگر درباره ی CDM • در موارد زیر از CDM استفاده می کنیم : - برای پروژه هایی با زمان تحویل ثابت - برای پروژه هایی که طول پروژه بین 3 الی 36 ماه زمان می برد - برای پروژه هایی با هر نوع سطح پیچیدگی - برای پروژه هایی با هر مقیاس و اندازه ای - برای پروژه هایی که نیازهایی سازمان بعد از مرحله ی تحلیل مشخص می گردند و غیر قابل تغییر می باشند - برای پروژه هایی که میزان بودجه در آنها معین و مشخص است - برای پروژه هایی که در سازمان توسعه دهنده ی آن ارتباطات ، قانونی بوده و قوانین رسمی وجود دارد
نکاتی دیگر درباره ی CDM • در موارد زیر از CDM استفاده نمی کنیم : - پروژه های استراتژیک و حیاتی - پروژه هایی که تحویل سریع و به موقع در آنها اهمیت زیادی دارد - پروژه هایی که نیازهای سازمان مشتری در طول مراحل پروژه تغییر می کند - پروژه هایی که اولویت بندی تحویل پروژه در آن ها وجود دارد - پروژه هایی که طول زمان تحویل در آن ها کمتر از 6 ماه است - پروژه هایی که بودجه ی تولید و توسعه در آنها نامشخص است - پروژه هایی که مشارکت فعال کاربران در آنها مورد نیاز است - پروژه هایی که ریسک بالایی دارند - پروژه هایی که گروه های توسعه دهنده در آن بزرگ است
CDM با نگرش Fast Track • ویژگی های CDM Fast Track : - از خانواده ی تکنیک های RAD (Rapid Application Development) می باشد - از استاندارد روش توسعه ی پویای سیستم DSDM (Dynamic System Development Method) تبعیت می کند - این نگرش برای متدولوژی های تحت اوراکل طراحی شده است - کاربران را در تولید و توسعه مشارکت می دهد - پروژه ها با این تکنیک ، سریع آماده می شوند
CDM با نگرش Fast Track • فرآیند توسعه در CDM Fast Track در سه لایه صورت می گیرد : 1- لایه ی کاری : کار سازمان بصورت نواحی کاری تحلیل و مدلسازی می شود 2- لایه ی منطقی : مدلهای فرآیندی کاری و داده ای ایجاد شده در لایه قبلی بصورت طرح منطقی قابل اجرا بر روی کامپیوتر تبدیل می شوند 3- لایه ی فیزیکی : پایگاه داده های واقعی و برنامه ها بر مبنای مدل منطقی که در لایه قبل ایجاد شده ، تولید می گردند
فازهای CDM Fast Track فاز های متدولوژی CDM Fast Track عبارتند از : 1- برنامه ریزی 2- مدلسازی نیازها 3- طراحی و ساخت 4- انتقال و تولید
فازهای CDM Fast Track 1- برنامه ریزی : • هدف : دستیابی به یک تعریف روشن از محدوده ی پروژه ، اولویت بندی اجزای پروژه ، و برنامه ی اجرایی پروژه • معمولا محدوده ی پروژه با کمک ترکیبی از جلسات کارگاهی ، نمونه سازی و یا گرفتن بازخورد (feed back) از کاربران انجام می شود • اولویت بندی اجزای پروژه بر اساس روش زمان ثابت انجام می شود و از اقلام اجباری تا اقلام غیرضروری تفکیک می گردد • برنامه ی اجرایی پروژه شامل برنامه ی نیازهای پروژه (به منابعی مانند نیروی انسانی ، مالی ، سخت افزار ، نرم افزار ، و غیره) ، اقلام قابل تحویل پروژه ، جزئیات فعالیت های پروژه ، طرح کیفیت پروژه ، برآوردهای مالی و زمانی پروژه ، برنامه ی زمانی و فرسنگ شمارهای پروژه می شود .
فازهای CDM Fast Track 2- مدلسازی نیازها : • در این مرحله از CDM بیشتر به این توجه می شود که چه کاری انجام می شود و چگونگی انجام شدن آن در مرحله ی طراحی مشخص می شود . در نگرش Fast Track چنین مرزی وجود ندارد و جلسات کارگاهی و نمونه سازی ها ممکن است هر دو موضوع را شامل شود • هدف این مرحله دستیابی به یک مدل اطلاعاتی ، یک مدل عملیاتی ، مدل معماری سیستم ، و یک نمونه ی ساخته شده است • وظایف در مرحله ی مدلسازی نیازها : - تعیین نیازها از طریق تشکیل جلسات کارگاهی - قبل از نمونه سازی معمولا استانداردهای صفحات نمایش ، گزارش ها و امثال آن نمونه سازی شده و نظر کاربران اخذ می گردد که به آن Feel Prototyping & Look (دیدن و پسندیدن) نمونه سازی گفته می شود - نمونه سازی سیستم : تعیین هدف نمونه سازی ، طراحی پایگاه داده سیستم نمونه ، طراحی عملیات سیستم نمونه ، طراحی ساختار یا معماری سیستم نمونه ، ساخت سیستم نمونه و بررسی آن ، مرور ، اصلاح و نهایی سازی نمونه ی ساخته شده در جلسات کارگاهی
فازهای CDM Fast Track 3- طراحی و ساخت : • در این مرحله ، نمونه ی ساخته شده در مرحله ی قبل اصلاح و تکمیل گردیده و سیستم نهایی ساخته می شود • در این مرحله نیز هر سیستم پس از ساخت ، در جلسات پیوسته ی کارگاهی یا به صورت های دیگر بررسی شده و نظر کاربران و سایر افراد ذینفع اخذ می شود و به تدریج سیستم ساخته شده نهایی می گردد . این نوع ساخت را ساخت تدریجی می گویند
فازهای CDM Fast Track 4- انتقال و تولید : خروجی های نهایی این فاز عبارتند از : • متن برنامه ها • پایگاه داده های ساخته شده • سیستم ساخته شده ، تست شده و آماده ی اجرا • مدارک کاربری و راهبری سیستم • مدارک تست سیستم این مرحله در روش CDM Fast Track تفاوت چندانی با روش CDM ندارد و مهمترین فعالیت های آن عبارتند از : • نصب و آموزش سیستم • تست پذیرش سیستم توسط کاربران و انجام تحویل موقت • اجرای موازی و اجرای آزمایشی سیستم • انتقال از سیستم قبلی به سیستم جدید • تحویل قطعی
فرآیندهای CDM Fast Track • فرآیندها در CDM Fast Track : 1- تعریف نیازمندی های کسب و کار 2- بررسی سیستم موجود 3- معماری فنی 4- طراحی و ساخت پایگاه داده 5- فرآیند توسعه ی کاربردی 6- تبدیل داده 7- مستندسازی 8- تست 9- آموزش 10- انتقال 11- پشتیبانی بعدی سیستم
فرآیندهای CDM Fast Track 1- تعریف نیازمندی های کسب و کار : - فرآیند تعریف نیازهای کاری ، یکسری از مدلسازی نیازها و یک لیست از اولویت بندی نیازها می باشد که به عنوان خروجی تولید می شود - هر دو مدلسازی و اولویت بندی نیازها ، محصولات پویایی را تولید می کنند 2- بررسی سیستم موجود : - وظایف و خروجی ها مشابه CDM تعریف می شوند اما با این تفاوت که نقش های جدید و تغییر یافته در این فرآیند قرار می گیرند
فرآیندهای CDM Fast Track 3- معماری فنی : - وظایف و خروجی ها مشابه CDM تعریف می شوند اما با این تفاوت که نقش های جدید و تغییر یافته در این فرآیند قرار می گیرند - یک وظیفه ی اضافه شده نسبت به CDM این است که توسعه ، خلاصه ی کاملی از معماری فنی می باشد 4- طراحی و ساخت پایگاه داده : - اين فرايند با ايجاد طرح پايگاه داده منطقي ، از روي مدل داده ای سيستم شروع مي شود و باتكميل تعريف داده هاي پايگاه داده براي بهره برداری خاتمه مي يابد - وظایف و خروجی ها شبیه CDM می باشد ولی بعضی از موارد در پیشرفت CDM Fast Track کمک می کنند - اين فرآيند با فرآيند توسعه كاربردي ارتباط محكمي دارد
فرآیندهای CDM Fast Track 5- فرآیند توسعه ی کاربردی : - تعدادی از وظايف اصلی تكراری كه به توسعه ی برنامه ی كاربردی كمك می كند - اين فرآيند با تعريف استاندارد طراحی و ساخت شروع می شود - نياز هاي ارتباط كاربر و نمونه سازی ديدن و پسنديدن را پایه گذاریمی نمايد - این فرآیند به صورت تکراری به کار می رود - این فرآیند مخصوص CDM Fast Track بوده و جایگزین فرآیند طراحی و ساخت ماژول در CDM شده است - اين فرآيند ارتباط محكمی با فرآيند تعريف نياز مندی های كسب وكار ، و طراحی و ساخت پايگاه داده دارد
فرآیندهای CDM Fast Track 6- تبدیل داده : - فرآیند انتقال داده در CDM Fast Track آسانتر از CDM آغاز می شود و به این ترتیب که با استفاده از آرشیو داده و جلوگیری از تاخیر ، کیفیت بهتری را به وجود می آورد 7- مستند سازی : - فرآیند مستند سازی در روش CDM Fast Track خلاصه تر از روش CDM است
فرآیندهای CDM Fast Track 8- تست : - فرآیند تست ، راهکار یکپارچه ای برای تست نمودن کیفیت کار تمامی عناصر یک سیستم کاربردی می باشد - این فرآیند شامل موارد زیر می باشد: • تست کارکرد ماژول ها • تست یکپارچگی ماژول ها در سطح کسب و کار • تست پذیرش و یکپارچگی سیستم ها
فرآیندهای CDM Fast Track 9- آموزش : - این فرآیند دقیقا مشابه فرآیند آموزش در CDM است 10- انتقال : - وظایف و خروجی ها مشابه CDM تعریف می شوند اما با این تفاوت که فرآیند پشتیبانی بعدی سیستم دو بار مشخص می شود 11- پشتیبانی بعدی سیستم : - وظایف و خروجی ها مشابه CDM تعریف می شوند اما با این تفاوت که فرآیند تست ارتقاء سیستم در فرآیند تست ، دوباره تعیین و مشخص می گردد
تکنیک های CDM Fast Track 1- شکستن پروژه های بزرگ به پروژه های کوچکتر و قابل اجرا - بايد در فاز برنامه ريزی پروژه صورت گيرد - پروژه از نظر بزرگی و همچنین امكان شكستن آن به پروژه های كوچكتر بررسی می گردد - همچنين هركدام از اجزا بايد ازاين جهت كه قابل نمونه سازی هستند يا نه موردبررسی قرار گيرند
تکنیک های CDM Fast Track 2- اولویت بندی انجام کار بر اساس زمان ثابت - عمليات يا جنبه های اجباری عبارت از اقلامی هستند كه حتما بايد در پروژه ی موردنظر گنجانده شوند - عمليات يا جنبه های الزامی عبارت از اقلامي هستند كه بودن آنها ضروری است و معمولا در برنامه ی پروژه نيز گنجانده می شوند - عمليات يا جنبه های شايسته عبارت از اقلامی هستند كه بودن آنها در پروژه مفيداست ولی جنبه ی الزامی ندارد - عمليات يا جنبه های غيرضروری عبارت از اقلامی است كه بهتر است در پروژه ی موردنظر وجود نداشته باشند
تکنیک های CDM Fast Track 3- نمونه سازی - نمونه سازی روشی است كه در آن يك نمونه ی سريع و تقريبی از يك سيستم يا بخشی از آن ساخته می شود - چنين نمونه هايی معمولا براي نمايش به كاربران و سايرافراد ذينفع تهيه می شوند 4- آنالیز و طراحی مشترک از طریق برگزاری کارگاه - برگزاری كارگاه يا جلسات مشترك بين عوامل ذينفع در توسعه ی سيستم يكی از ابزارهای الزامی در CDM Fast Track است به طوری كه درتمام مراحل توسعه ی سيستم ، كارگاهها و جلساتی به منظورهای مختلف تشكيل می شود 5- فرآیند توسعه ی تکراری
مزایای CDM Fast Track 1- سرعت بخشيدن به روند توسعه ی سيستم ها 2- در تمام مراحل ، مشاركت عملی كاربران نهايی را در تصميم گيری و حتی طراحی سيستم تضمين می كند . به اين ترتيب فرآورده ی نهايی ، هنگامی كه براي استفاده ی عملی تحويل می شود ، قاعدتا بايد بيشترين تناسب را با نيازها و سليقه های كاربران داشته باشند 3- محدود بودن گروه های توليد كننده ی سيستم در روش Fast Track (بين 3 تا 4 نفر) ارتباطات لازم را برای هماهنگی و كنترل پروژه ها به ميزان قابل توجهی كاهش می دهد و به همين دليل راهبری و مديريت پروژه های Fast Track را بسيار ساده تر می كند
معایب CDM Fast Track 1- اصولا اين نگرش برای تهيه ی سيستم های كوچك و متوسط طراحی شده است 2- استفاده از ابزار اصلی Fast Track يعنی جلسات طراحی مشترك در بسياری از موارد دشوار يا حتی غير ممكن است
مزایای CDM Fast Track نسبت به CDM و SSADM • گسترش پذیری • سرعت بالای اجرای پروژه • مبتنی بودن بر تکنولوژی های جدید شی گرا • هماهنگی کامل با Oracle • پشتیبانی کامل از SSADM • دارای ساختار ویژه جهت ایجاد بستر مناسب به منظور کاهش ریسک پروژه های بحرانی یا مبهم ( Critical Mission یا Fuzzy Projects )