290 likes | 472 Views
به نام خدا. تمرينهاي سري دوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ الناز دل پيشه آقاي دکتر عبدلله زاده نيمسال دوم 86. تمرين 1. مثالي براي اندازه گيري يک سيستم نرم افزاري ارائه دهيد. اندازه گيري يک سيستم بانکداري. پيچيدگي کارکرد سيستم
E N D
به نام خدا تمرينهاي سري دوم طراحي و پياده سازي سيستمهاي نرم افزاري بزرگ الناز دل پيشه آقاي دکتر عبدلله زاده نيمسال دوم 86 آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
تمرين 1 • مثالي براي اندازه گيري يک سيستم نرم افزاري ارائه دهيد. آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
اندازه گيري يک سيستم بانکداري • پيچيدگي کارکرد سيستم • تخمين در اينجا با استفاده از کتاب مهندسي نرم افزار sommerville مدل COCOMO صورت گرفته است. • با توجه به ليست نيازمنديها، وجود بيش از 100 کلاس پيش بيني مي شود. با توجه به وزن هر يک از کلاسها، function point بيش از 200 براي سيستم محاسبه شد. • با استفاده از فرمول: LOC = AVC * number of FP FP:Function point AVC: براي اين پروژه، مي تواند بين 30 تا 40 باشد در نتيجه : LOC=35*200=7000 آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
اندازه گيري يک سيستم بانکداري (ادامه) • نيازمنديهاي غير وظيفه اي • منبع:Object-Oriented Software Engineering Using UML Patterns and Java • قابليت اعتماد (Reliability) • درهمه مواقع 95%، بايد سيستم در دسترس باشد. • در صورت failure، restart شدن سيستم قابل قبول است. • سيستم اصلاً نمي تواند داده اي را از دست دهد. • قابليت استفاده (Usability) • کاربران سيستم داراي سواد ابتدايي هستند. • واسط کاربري بايد آسان بوده و آشنا براي کاربر باشد. • واسط (Interface) • سيستم با 5 سيستم خارجي از قبل موجود تعامل دارد. • داده ها از 2 طريق مختلف، انتقال مي يابند. آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
اندازه گيري يک سيستم بانکداري (ادامه) • کارايي • زمان پاسخ سيستم به هر کاربر حداکثر10 ثانيه است. • همزمان ، ده هزار کاربر مي توانند از سيستم بصورت همزمان استفاده کنند. • پرسنل زياد • به بيش از 100 نفر براي آناليز، طراحي، ساخت، پياده سازي، مديريت، تهيه استاندارد و آموزش سيستم نيازمنديم. آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
اندازه گيري يک سيستم بانکداري (ادامه) • عدم يکپارچگي • با توجه به توزيعي بودن سيستم در سراسر کشور بيش از 5 تنوع در سخت افزارها و نرم افزارها و پروتکلهاي ارتباطي، پيش بيني مي شود. • توزيع پردازش • با وجود شعب در اقصي نقاط کشور، با توزيع عمليات و داده ها در بيش از 10 نود مواجهيم. آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
تمرين 2 • جدول شناخت سيستم LS را در ديدگاه مديريت و ديدگاه کسب و کار بيان کنيد. آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
جدول شناخت سيستم LS ديدگاه مديريت آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
جدول شناخت سيستم LS ديدگاه application آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
تمرين 3 • مدلهاي پردازش را ارائه نموده و رابطه ي آ نرا با SSADM يا Agile يا O.O. بيان کنيد. آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
تمرين 3 (ادامه) • خطي • آبشاري در هر سه متدولوژي مي توان از آن استفاده کرد. • افزايشي • Incremental • RAD • تکاملي • Prototyping • Spiral • Concurrent Development Model • Component based Development • The Formal Methods Model • Aspect Oriented Software Development • The Unified Process آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
تمرين 3 (ادامه) • مدل هاي فرايندي Agile • Extream Programming (XP) • Adaptive Software Development (ASD) • Dynamic System Development Method (DSDM) • Scrum • Crystal • Feature Driven Development (FDD) آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
منبع: • R. Pressman, Software Engineering -- A Practitioner's Approach, 6th edition, McGraw Hill, 2005. آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
تمرين 4: • ليستي از ابزار را در فرايند توليد نرم افزار ارائه کنيد آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
تمرين 4 (ادامه) • Object Domain: • Object Domain Systems. object-oriented analysis and design • Object Methodology Overview: • ICONIX Software Engineering Inc.. interactive CD-Rom course • Object Plant: • Midius Art&Science. object oriented analysis & design, OMT, UML, Macintosh • Object Technology Workbench: • OWiS Software GmbH. object oriented modeling, UML • Object Technology Workbench: (OTW) • OTW Software, Inc.. object oriented analysis and design, UML • Object-Modeller: • Sapiens International. • Object-Oriented Designer: • Kim, Prof. Tae Gyun. object oriented analysis & design, freeware, OMT • Objecteering: • Softeam. UML, C++, Java, metaCASE • ObjectGEODE: • Telelogic AB. real time systems analysis & design, OMT, UML, SDL • objectIF: • Computer Systems for Business International Eastern Europe Ltd. (CSBI EE) (reseller). Coad/Yourdan, analysis,design,implementation, object oriented methods آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
تمرين 4 (ادامه) • OPENTOOL: • TNI. object oriented modeling, metamodeling • Oracle: • Oracle Systems Corp.. • Oracle Designer/2000: • Oracle Systems Corp.. • Oracle Developer/2000: • Oracle Systems Corp.. • Oracle Reports: • Oracle Systems Corp.. • ORCHIS: • TNI. functional analysis, SADT • P-Source: • Phoenix Technologies, Ltd.. • P-Tools: • Phoenix Technologies, Ltd.. • Pacbase: • CGI Systems, Inc.. repository, code generation, full life-cycle, I-CASE, metamodeling • PacDesign: • CGI Systems, Inc.. analysis, design, business modeling, Yourdon, SSADM, OMT, YSM, Merise آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
تمرين 4 (ادامه) • RapidBuild: • Tri-Pacific Software. real time task performance prediction • RapidSched: • Tri-Pacific Software. real time CORBA scheduling service • Rational Apex: • Rational Software Corporation. integrated interactive software engineering environment • Rational CRC: • Rational Software Corporation. object oriented analysis & design, class-responsibility-collaboration methodology • Rational Rose: • Rational Software Corporation. object oriented analysis & design, Booch methodology • RAZOR: • Visible Systems Corporation. issue tracking, configuration management • RDD-100: • Ascent Logic Corporation. systems engineering, requirements analysis • RDT: • Igatech Systems Pty Ltd. database applications, requirements management • ReaGeniX Programmer: • OBP Research Oy. C, code generation, embedded real time systems, component modeling • Real Time Developer Studio: • PragmaDev SARL. SDL-RT, real time, embedded • RECON3: • University of West Florida. freeware, program understanding, program comprehension آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
تمرين 4 (ادامه) • TurboCASE/Sys: • StructSoft, Inc.. real time systems • UIM/X: • Bluestone. GUI development • UIM/X: • Hewlett-Packard. GUI development • UML Essentials: • Pathfinder Solutions. • UML Foundation: • Pathfinder Solutions. code templates • UML Spotlight: • Pathfinder Solutions. model execution • Understand for Ada: • Scientific Toolworks, Inc.. reverse engineering/maintenance, Ada • Understand for C++: • Scientific Toolworks, Inc.. reverse engineering/maintenance, C++ • Understand for FORTRAN: • Scientific Toolworks, Inc.. reverse engineering/maintenance, FORTRAN • Unirel Openlook Toolkit: • Unirel. • VADS: • Rational Software Corporation. development environment for embedded systems • VDM++ Toolbox: • Institute of Applied Computer Science (IFAD). • VDM++toC++ code generation: • Institute of Applied Computer Science (IFAD). • VDM++toJava code generation: • Institute of Applied Computer Science (IFAD). آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
تمرين 5 • براي هر کدام از سيستمهاي زير مثالي ارائه کرده و بيان کنيد چرا جزء سيستمهاي بزرگ هستند. • پاسخ مشابه تمرين 1 است. آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
تمرين 6 • براي هر کدام از viewpoint هاي ارائه شده در کلاس مثالي ذکر کنيد. آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
تمرين 6 (ادامه) • 4+1 view • اين view شامل 5 view زير مي باشد. Logical view Process view Physical view Use case view Development view آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
تمرين 6 (ادامه) • Logical view: براي نمايشrequirement functional ها به کار مي رود. براي نمايش اين view از دياگرام هاي class diagram ، object diagram ،collaboration diagram و در مواقعي هم مي توان از E-R diagram استفاده کرد. مثالي از class diagram: آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
تمرين 6 (ادامه) • مثالي از sequence diagram: آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
تمرين 6 (ادامه) • Process view در اين شکل process ها و ارتباطات آنها نمايش داده شده اند. آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
تمرين 6 (ادامه) • Deployment view نشان دهنده ي نصب واقعي پردازشهاي واقعي روي سخت افزار است. آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
تمرين 6 (ادامه) • Implementation view آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
تمرين 6 (ادامه) • Context view آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
تمرين 6 (ادامه) • Physical Data View آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)
منبع تمرين 6 • Jeff Garland, Richard Anthony, Large – scale software architecture, 2003. آزمايشگاه سيستم هاي هوشمند (http://ce.aut.ac.ir/islab)