430 likes | 715 Views
تحلیل و طراحی سیستم ها. بخش ششم کتاب توربان. ایجاد یک معماری فناوری اطلاعات. معماری فا: طرح ساخت و یکپارچه سازی منابع و کاربردهای فا در سازمان. فرایند شش مرحله ای توسط کونتز دیدگاه و اهداف کاری: بررسی رابطه بین دیدگاه و اهداف کاری
E N D
تحلیل و طراحی سیستم ها بخش ششم کتاب توربان
ایجاد یک معماری فناوری اطلاعات • معماری فا: طرح ساخت و یکپارچه سازی منابع و کاربردهای فا در سازمان. • فرایند شش مرحله ای توسط کونتز • دیدگاه و اهداف کاری: بررسی رابطه بین دیدگاه و اهداف کاری • معماری اطلاعات: تحلیل گر سازمان اطلاعاتی را مشخص می کند تا سازمان به اهداف مرحله 1 برسد. • معماری داده: چه داده هایی دارید و چه داده هایی باید از مشتری بدست آورید، شامل داده های وب هم می شود. درس مهندسی فناوری اطلاعات
ایجاد یک معماری فناوری اطلاعات • معماری کاربرد: تعریف مولفه ها و ماژول های کاربرد ها ی مرتبط با داده های تعریف شده مرحله قبل. چارچوب مفهومی کاربرد را می سازد. اما شالوده پشتیبان آن ساخته نمی شود. • معماری فنی: سخت افزار و نرم افزار مورد نیاز برای پشتیبانی مراحل قبل را بازرسی می کند. • معماری سازمانی: با منابع انسانی و رویه هایی سر و کار دارد که مورد نیاز مراحل 1 تا 5 است. همه انواع محدودیت ها در این مرحله بررسی می شوند. درس مهندسی فناوری اطلاعات
فرآیند • فرآیند(process) نرم افزار یا سیستم، نقشه ای برای ساخت آن با کیفیت مطلوب است. • فرآیند، چارچوبی را برای مدیریت فعالیت هایی که می توانند از کنترل خارج شوند، مشخص می کند. • مدل فرآیند (process model) ، استراتژی حل مساله است. • انواع مدل های فرآیند: خطی ترتیبی(linear sequential)،مدلسازی(prototyping)،RAD،افزایشی (incremental)، حلزونی (spiral) درس مهندسی فناوری اطلاعات
نگاهی به SDLC سنتی • یک چارچوب ساخت یافته سنتی است که برای پروژه های بزرگ IT استفاده می شود؛ شامل فرایند های ترتیبی است که سیستم های اطلاعاتی با آن ساخته می شوند. درس مهندسی فناوری اطلاعات
SDLC درس مهندسی فناوری اطلاعات
System Development Life Cycle • مشی آبشاری: کارهای یک مرحله قبل از آغاز مرحله بعد باید کامل می شدند. • افراد تیم : کاربران، تحلیلگران سیستم، برنامه نویس ها،متخصصین فنی • تحلیل گران سیستم: افراد حرفه ای که در تحلیل و طراحی سیستم های اطلاعاتی تخصص دارند. • برنامه سازها: افراد حرفه ای که برنامه های موجود کامپیوتری را بهبود می بخشند و یا اینکه برنامه جدید می نویسند برای اینکه نیازهای کاربر را براورده سازند. • متخصص فنی: کارشناس های یک نوع مشخص فناوری مانند پایگاه داده ها یا مخابرات. • ذینفعان: همه افرادی که از تغییرات در سیستم های اطلاعاتی متاثر می شوند. درس مهندسی فناوری اطلاعات
گام اول :بررسی سیستم ها • با ایجاد یک مسئله کاری یا یک فرصت کاری آغاز می شود. • وظیفه بعدی مطالعه امکان سنجی است که احتمال موفقیت پروژه پیشنهاد شده را می سنجد و دشواری آن را هم تخمین می زند. درس مهندسی فناوری اطلاعات
مطالعه امکان سنجی • مطالعات امکان سنجی، میزان احتمل موفقیت یک پروژه را می سنجد و یک ارزیابی از پروژه به ما می دهد. • امکان سنجی فنی(technical feasibility): براورد اینکه آیا سخت افزار، نرم افزار و مولفه های ارتباطی پروژه می تواند ساخته شود و یا می توان آن ها را بدست آورد. • امکان سنجی اقتصادی(economic feasibility ): براورد اینکه آیا پروژه ریسک مالی مورد قبولی دارد و یا اینکه سازمان می تواند هزینه های مالی و زمانی را تا تکمیل پروژه بپردازد. درس مهندسی فناوری اطلاعات
امکان سنجی اقتصادی • بازگشت سرمایه(Return on Investment-ROI): نسبت درآمد خالص پروژه به کل بودجه صرف شده برای پروژه(هزینه). • ارزش خالص فعلی(Net Present value-NPV) : میزان خالص سود که با آن هزینه پروژه تأمین شود با در نظر گرفتن ارزش زمانی پول. • تحلیل نقطه سربه سر(break even analysis): روش تعیین نقطه ای در پروژه که در آن هزینه های پروژه دقیقا برابر با میزان سرمایه گذاری پروژه شده است. درس مهندسی فناوری اطلاعات
مطالعه امکان سنجی . . . • امکان سنجی سازمانی(organizational feasibility ): توانایی سازمان برای دستیابی به پروژه پیشنهاد شده. بررسی مشی ها و سیاست های سازمانی. • امکان سنجی رفتاری (behavioral feasibility ): براورد پیامد های انسانی درگیر در پروژه، مثل مقاومت در برابر تغییرات و نیاز های مهارتی و تمرینی. درس مهندسی فناوری اطلاعات
تحلیل سیستم ها • بررسی مسئله کاری که سازمان تصمیم به حل آن با سیستم های اطلاعاتی گرفته است. در این گام، مسئله کاری، علل، و راه حل ها و نیازمندی های اطلاعاتی که راه حل باید ارضا کند، مشخص می شود. درس مهندسی فناوری اطلاعات
تحلیل سیستم ها • سه راه حل سازمان ها برای هر مسئله کاری: • هیچ کاری انجام ندهیم(ادامه استفاده از سیستم موجود). • تغییر و ارتقا سیستم موجود. • ایجاد یک سیستم جدید. • مهم ترین هدف گام تحلیل: جمع آوری اطلاعات درباره سیستم موجود به منظور انتخاب یکی از سه راه حل. • تحویل دادنی این گام: مجموعه نیازمندی های اطلاعاتی درس مهندسی فناوری اطلاعات
تحلیل سیستم ها • مشکلات جمع آوری نیازمندی های اطلاعاتی: • ممکن است مسئله کاری خوب تعریف نشده باشد. • کاربران ممکن است به درستی نفهمند که مسئله چیست، چه می خواهند و چه نیاز دارند. • ممکن است کاربران با هم در مورد رویه های کاری و حتی در مورد مسئله کاری هم نظر نباشند. • مسئله ممکن است مربوط به اطلاعات (information related) نباشد و نیازمند راه حل های دیگری باشد. مثل تغییر در مدیریت یا آموزش اضافی. درس مهندسی فناوری اطلاعات
تحلیل سیستم ها • گام تحلیل، اطلاعات زیر را ارایه می دهد: • نقاط ضعف و قوت سیستم فعلی • توابعی که سیستم جدید باید داشته باشد. • نیازمندی های اطلاعاتی کاربر برای سیستم جدید. درس مهندسی فناوری اطلاعات
طراحی سیستم • گام تحلیل، راه حل مسئله کاری را ارایه می دهد و گام طراحی، چگونگی اجرای راه حل را شرح می دهد. • تحویل دادنی های گام طراحی: یک طرح فنی شامل: • خروجی های سیستم، ورودی ها و واسط کاربر • نرم افزار، سخت افزار، پایگاه داده، مخابرات، پرسنل و رویه ها • چگونگی یکپارچه سازی مولفه ها درس مهندسی فناوری اطلاعات
طراحی سیستم • طراحی شامل دو جنبه از سیستم: • طراحی منطقی سیستم: سیستم چه کاری انجام خواهد داد، مشخصات انتزاعی سیستم.(ورودی،خروجی، پردازش ها،پایگاه داده) • طراحی فیزیکی سیستم: سیستم چگونه توابع منطقی را انجام می دهد. مشخصات واقعی سیستم.(سخت افزار و نرم افزار) درس مهندسی فناوری اطلاعات
برنامه نویسی • ترجمه طراحی به کد ماشین • استفاده از زبان های ساخت یافته: هر کد به زیرساخت هایی به نام ماژول تقسیم بندی می شود. • محدودیت های زبان های ساخت یافته: • هر ماژول فقط یک تابع را اجرا می کند. • هر ماژول فقط یک ورودی و یک خروجی دارد. • دستور GO TO نباید استفاده شود. درس مهندسی فناوری اطلاعات
آزمایش • چک کردن این موضوع که کد کامپیوتر نتایج مطلوب را در شرایط مختلف به ما می دهد • به منظور پاک سازی باگ ها. • دو نوع خطا: • syntax error: اجازه اجرای برنامه را نمی دهد. • logic error: خطای زمان اجرا درس مهندسی فناوری اطلاعات
پیاده سازی • در واقع فرایند جایگزینی سیستم قدیمی با سیستم جدید. • این جایگزینی می تواند تحت 4 راهبرد انجام شود: • جایگزینی موازی: در یک بازه زمانی سیستم جدید و قدیم همزمان در کنار هم کار می کنند. • جایگزینی مستقیم: کار سیستم قبل متوقف و سیستم جدید در یک زمان مشخص فعال می شود. • جایگزینی آزمایشی: فرایند پیاده سازی سیستم در بخشی از سازمان و وارد شدن به بخش های دیگر در صورت حصول نتیجه مطلوب. • جایگزینی گام بندی شده: فرایند به کارگیری مولفه های سیستم در مرحله های مختلف تا زمانی که کل سیستم عملیاتی شود. درس مهندسی فناوری اطلاعات
اجرا و نگهداری • انواع نگهداری: • اشکال زدایی: یک فرایند ادامه دار در طول حیات سیستم • بروز رسانی: به منظور تطبیق با تغییرات • حمایت: اضافه کردن کارکردهای سیستم، اضافه کردن ویژگی هایی به سیستم موجود درس مهندسی فناوری اطلاعات
دلایل استفاده از مشی آبشاری • کنترل • Accountability: در هر شرایطی جواب می دهد. • قابلیت تشخیص خطا:فرآیند های مرحله به مرحله این روش امکان تشخیص خطا را در هر مرحله راحت تر می کند. درس مهندسی فناوری اطلاعات
معایب SDLC سنتی • نسبتا انعطاف ناپذیر • وقت گیر و هزینه بر • کم بودن امکان تغییرات پس از یک پیاده سازی • کاربران باید تا مرحله نهایی برای دیدن سیستم جدید صبر داشته باشند. درس مهندسی فناوری اطلاعات
ابزار و روش های دیگر ایجاد سیستم • نمونه سازی(prototyping) • لیست اولیه ای از نیازهای کاربران مشخص می شوند و نمونه ای از سیستم ساخته می شود.سپس در چندین مرحله بر اساس بازخورد گرفته شده از کاربر، سیستم تکمیل می گردد. • مناسب در سیستم های تصمیم یار که به تعامل با کاربر نیازمند است. • مزایا: • سرعت بالا • نظر کاربر دخیل است. • کاربر آنچه را می خواهد می بیند و طراح نیز درک بهتری از نیازهای کاربر پیدا می کند. درس مهندسی فناوری اطلاعات
ابزار و روش های دیگر ایجاد سیستم • معایب: • چون ممکن است مراحل تحلیل و طراحی تا حدودی حذف شوند، لذا مستندسازی مناسبی برای مرحله برنامه نویسی تهیه نمی شود. • نداشتن مستندسازی مناسب می تواند مشکلات پیاده سازی را به همراه داشته باشد. • ممکن است کاری بسیار طولانی شود و در دور بی نهایت بیفتد!(توقع مشتری بالا رود.) • ابزارهای مورد استفاده: • زبانهای نسل 4 • ابزارهای web-based • Screen generator درس مهندسی فناوری اطلاعات
ابزار و روش های دیگر ایجاد سیستم • Joint application development-JAD • یک فرآیند تصمیم سازی گروهی است که در آن همه کاربران با هم در جلسات حضور دارند. • فراروش گروه محور برای جمع آوری نیاز های کاربر و ساختن طرح سیستم از طریق مشارکت مستقیم با کاربران. • در روش سنتی SDLC، طراحان برای جمع آوری نیازهای کاربران با آنها مصاحبه می کردند و یا اطلاعات را با مشاهده جمع آوری می کردند. این کار برای تک تک کاربران به صورت جداگانه انجام می شد.ممکن است در این روش بین اطلاعات به دست آمده از کاربران، ناهمخوانی و تضاد وجود داشته باشد. در روش JAD، با ترتیب دادن یک جلسه گروهی که در آن همه کاربران حضور دارند ، تا حدی این مشکل رفع می شود. درس مهندسی فناوری اطلاعات
ابزار و روش های دیگر ایجاد سیستم • مزایا: • همه کاربران را یکجا جمع می کند • صرفه جویی در زمان • ساخت سریع سیستم • هزینه به کاربران پایین می آید ، زیرا از همان ابتدا کاربران درگیر طرح هستند. • معایب: • همه کاربران با هم یکجا جمع نشوند. درس مهندسی فناوری اطلاعات
ابزار و روش های دیگر ایجاد سیستم • Rapid application development-RAD • : یک روش ساخت سیستم که از ابزار های خاص و روش های تکاملی بهره می برد تا یک سیستم کیفیت بالا را در زمان کوتاه پیاده سازی شود. • ترکیب گونه های SDLC،ـJAD و نمونه سازی و ابزارهای CASE • برای جمع آوری نیازها از JAD استفاده می شود. • مرحله ساخت مانند نمونه سازی است. • در همان نمونه سازی، فعالیت های تحلیل،طراحی و پیاده سازی مانند روش آبشاری است. درس مهندسی فناوری اطلاعات
ابزار و روش های دیگر ایجاد سیستم • از ابزارهای case برای تسریع امر جمع آوری نیازها و تولید نمونه های اولیه استفاده می شود. • بعد از تکمیل نمونه دوباره دریک فرآیند JAD، نظر کاربران جمع آوری می شود. • مزایا: • سرعت بالا • استفاده برای بازنویسی سیستم های عتیقه(legacy system) درس مهندسی فناوری اطلاعات
ابزار و روش های دیگر ایجاد سیستم درس مهندسی فناوری اطلاعات
Computer-Assisted Software Engineering Tools • CASE: روش ساخت که از ابزار خاص برای خودکار سازی بخش زیادی از مراحل در SDLC استفاده می کند؛ ابزار های Uppercase برای خودکار سازی مراحل اولیه(بررسی، تحلیل و طراحی)،lowercase برای مراحل پایانی(برنامه سازی، تست، اجرا و نگهداری). • ICASE: ابزار های case که بین upper و lower پیوند برقرار می کند. درس مهندسی فناوری اطلاعات
Computer-Assisted Software Engineering Tools • مزایا: • سرعت بیشتر • عمر محصولات ساخته شده با این ابزارهای بیشتر است • انعطاف بیشتر • به خواست های کاربر نزدیکتر است • مستندسازی خوب درس مهندسی فناوری اطلاعات
Computer-Assisted Software Engineering Tools • معایب: • هزینه ساخت و نگهداری بالاتر • به ارائه جزئیات پیاده سازی بیشتری از سوی کاربر نیاز دارند. • شخصی سازی آن ها سخت است. • برای استفاده در کنار سیستمهای قدیمی چندان مناسب نیستند. درس مهندسی فناوری اطلاعات
ابزار و روش های دیگر ایجاد سیستم • Object-Oriented Development • ساخت شی گرا: آغاز با جنبه هایی از جهان واقعی که باید مدل شود تا بتواند کاری را انجام دهد. • شیء(object): توصیف یک موجودیت ملموس جهان واقعی:مشتری،حساب بانکی • اشیاء دارای صفاتی هستند • برنامه نویسان می توانند از اجرای تعریف شده در سایر برنامه ها استفاده کنند. درس مهندسی فناوری اطلاعات
ابزار و روش های دیگر ایجاد سیستم • Component-Based Development -CBD • روشی که از مولفه های پیش برنامه نویسی شده استفاده می کند تا یک کاربرد را بسازد. • مولفه: یک بسته جامع از قابلیت هاست که به خوبی تعریف و پیاده سازی شده است و دارای یک واسط باز است که امکان استفاده از آن را در سایر سیستم ها می دهد. • مثال هایی از مولفه ها: user interface icon، word processing،GUI،search engine،online ordering،firewall،web server درس مهندسی فناوری اطلاعات
ابزار و روش های دیگر ایجاد سیستم • مزایا: • امکان استفاده مجدد از کد:برنامه نویسی را سریعتر و راحت تر می کند. • امکان استفاده در شالوده های ناهمگون • امکان ساخت سریع سیستم ها • امکان افزایش حجم مولفه ها درس مهندسی فناوری اطلاعات
Web Services • برنامه های کاربردی جامع و خود تعریف برای استفاده تجاری و شخصی که از طریق اینترنت ارائه می شوند و کاربران قادرند هر کدام را جداگانه انتخاب کرده و یا با سایر کاربردها ترکیب کنند. • برنامه های کاربردی ماژولار که می توانند روی یک شبکه تعریف، منتشر، پیدا و صدا زده شوند. • 3 ویژگی سرویس های وب: • می توانند خود را برای سایر برنامه ها توصیف کنند. • می توانند با سایر کاربردها به صورت online جایگزین شوند. • می توانند به وسیله برنامه های کاربردی اصلی و از طریق پروتکلهای ارتباطی صدا زده شوند. درس مهندسی فناوری اطلاعات
Web Services • قابل استفاده در: • اینترنت،اینترانت،اکسترانت • قابل نوشتن با ابزارهای برنامه نویسی مختلف: • .NET،Java،Perl • موارد استفاده: • یکپارچه سازی کاربردها(قدیمی با جدید، با زبان های مختلف، بسترهای مختلف) • ارائه خدمات online مانند تجارت الکترونیکی • خودکارسازی فعالیت های سازمان درس مهندسی فناوری اطلاعات
Web Services • از 4 پروتکل زیر استفاده می کنند: • XML (Extensible Markup Language):messages format • SOAP (Simple Object Access Protocol) is for communication between applications • WSDL (Web Services Description Language) • UDDI (Universal Description, Discovery, and Integration) a standard used for publishing/query web services درس مهندسی فناوری اطلاعات
Web Services • SOAP: • روشی برای انتقال پیام ها و مبتنی برXML • مستقل از زبان و بستر • از درون فایروال ها رد می شود • WSDL: • زبان مبتنی بر XML جهت توصیف سرویس ها، عملکرد و خروجی آن ها • UDDI: • برای ثبت و جستجوی سرویس ها استفاده می شود. درس مهندسی فناوری اطلاعات
Web Services درس مهندسی فناوری اطلاعات