An Introduction to Object-Oriented Systems Analysis and Design with UML and the Unified Process 使用UML和统一过程的 面向对象系统分析与设计
Slide 1.1 1/21 An Introduction to Object-Oriented Systems Analysis and Design with UML and the Unified Process 使用UML和统一过程的 面向对象系统分析与设计
学习目标 ●目标:掌握信息系统的开发和管理方法,运用面向 对象方法与技术,分析用户对软件系统的需求,建 立合适的软件系统模型,提高软件开发的效果。 一涉及软件工程、计算机网络、面向对象程序设计、网络 程序设计、软件测试、组织、管理等多学科的内容 1.什么是O0(Object-.Oriented)? 2.什么是OOAD(Analysis and Design)? 3.什么是UML(Unified Modeling Language)?
Slide 1.2 2/21 ⚫目标:掌握信息系统的开发和管理方法,运用面向 对象方法与技术,分析用户对软件系统的需求,建 立合适的软件系统模型,提高软件开发的效果。 – 涉及软件工程、计算机网络、面向对象程序设计、网络 程序设计、软件测试、组织、管理等多学科的内容 1. 什么是 OO (Object-Oriented)? 2. 什么是 OOAD (Analysis and Design)? 3. 什么是 UML (Unified Modeling Language)? 学习目标
为什么要使用O0? 因为 1.软件越来越复杂 为什么要采用面 (Evolving changes); 向对象的软件系 2.人们认识有误区(Myth); 统设计方法? 3.传统方法的局限
Slide 1.3 3/21 为什么要使用OO? 因为 1. 软件越来越复杂 (Evolving & changes); 2. 人们认识有误区(Myth); 3. 传统方法的局限。 为什么要采用面 向对象的软件系 统设计方法?
1.Evolving Software 计算机的计算能力、硬件、系统结构和用户需求在 不断地进步提高,软件从最初的简单的指令集合发 展为复杂的实体。 Case1.美p Here are questions now still 操作系统。 投入开发工 asked: 统每次发行 1.Why does it take so long to get 修正的 software finished? : 这个」 2. Why are development cost so high? 的沉漏 3.Why can't we find all errors before : 的挣扎, giving the software to the customers? 程序设 4.Why do we spend so much time and 中拼命 effort to maintain software? IBM Tr5. Why is it difficult to measure progress? 1 而Bn 人的红示看作 人月神话》(The Myan 伤销不衰
Slide 1.4 4/21 1. Evolving Software ⚫ 计算机的计算能力、硬件、系统结构和用户需求在 不断地进步提高,软件从最初的简单的指令集合发 展为复杂的实体。 Here are questions now still asked: 1. Why does it take so long to get software finished? 2. Why are development cost so high? 3. Why can’t we find all errors before giving the software to the customers? 4. Why do we spend so much time and effort to maintain software? 5. Why is it difficult to measure progress?
1.Evolving Software Software:A set of items or objects including Instructions Data structrures Documents AND MORE Software is developed or engineered,not manufactured. increased failure rate due to side effects Thereare no Failure softwarespare parts Infant ⑧ rate mortality change ailure cure r hardware actual curve idealized curve Time
Slide 1.5 5/21 1. Evolving Software Software: A set of items or objects including – Instructions – Data structrures – Documents – AND MORE Software is developed or engineered, not manufactured
1.Evolving Software Software Changes: Application Types System Software -Application Software Engineering Software Embedded Software Web Application Software -Artificial Intelligent Software Challenges 一无处不在的计算(计算机类型繁多 -网络资源(迎合终端用户的需求) 开放源代码(编程个性化的需求) -新经济形式
Slide 1.6 6/21 1. Evolving Software Software Changes: Application Types – System Software – Application Software – Engineering Software – Embedded Software – Web Application Software – Artificial Intelligent Software Challenges – 无处不在的计算(计算机类型繁多) – 网络资源(迎合终端用户的需求) – 开放源代码(编程个性化的需求) – 新经济形式
1.Evolving Software Why must it change? -j 适应新的计算环境和计算技术 - 实现新的用户需求 一扩展以便与其他系统交互兼容 一重新构建以适应网络的要求
Slide 1.7 7/21 1. Evolving Software Why must it change? – 适应新的计算环境和计算技术 – 实现新的用户需求 – 扩展以便与其他系统交互兼容 – 重新构建以适应网络的要求
2.Software Myths ●Management Myths 系统组织管理者往往认为: of 经有标准函数和过程库,开 发程序岂不是万事俱备了? 如果进度延迟了,那就增加人 手来加快进度。 。 把开发工作外包(outsource) 出去,那我们就清闲了!
Slide 1.8 8/21 2. Software Myths ⚫Management Myths 系统组织管理者往往认为: • 已经有标准函数和过程库,开 发程序岂不是万事俱备了? • 如果进度延迟了,那就增加人 手来加快进度。 • 把开发工作外包(outsource) 出去,那我们就清闲了!
2.Software Myths ●Customer Myths 需要软件的顾客认为: 我已经把程序的目标说明清楚了 你们就可以开始写代码了,至于细 节嘛,你们可以边干边添加。 可实际上,真的不是这样的」 这里有一个年轻软件开发员的故 事
Slide 1.9 9/21 2. Software Myths ⚫Customer Myths 需要软件的顾客认为: 我已经把程序的目标说明清楚了, 你们就可以开始写代码了,至于细 节嘛,你们可以边干边添加。 可实际上,真的不是这样的! 这里有一个年轻软件开发员的故 事
2.Software Myths Customer myths Myth:A general statement of objectives is sufficient to begin writing programs-we can fill in the details later. .5 Case 2.In the late 1960s,a bright-eyed young engineer'was chosen to "write a computer program for an automated manufacturing application.The reason for his selection was simple.He was the only person in his technical group who had attended a computer programming seminar.He knew the in's and out's of assembler language and Fortran,but nothing about software engineering and even less about project scheduling and tracking. His boss gave him the appropriate manuals and a verbal description of what: had to be done.He was informed that the project must be completed in two months. He read the manuals,considered his approach,and began writing code.After: two weeks,the boss called him into his office and asked how things were going. "Really great,"said the young engineer with youthful enthusiasm,"This was much simpler than I thought.I'm probably close to 75 percent finished." The boss smiled."That's really temrific,"he said.He then told the young engineerto keep up the good work and plan to meet again in a week's time
Slide 1.10 10/21 2. Software Myths