收藏 分享(赏)

软件需求分析与系统设计.ppt

上传人:kpmy5893 文档编号:8431993 上传时间:2019-06-26 格式:PPT 页数:53 大小:787KB
下载 相关 举报
软件需求分析与系统设计.ppt_第1页
第1页 / 共53页
软件需求分析与系统设计.ppt_第2页
第2页 / 共53页
软件需求分析与系统设计.ppt_第3页
第3页 / 共53页
软件需求分析与系统设计.ppt_第4页
第4页 / 共53页
软件需求分析与系统设计.ppt_第5页
第5页 / 共53页
点击查看更多>>
资源描述

1、软件需求分析与系统设计 Requirements Analysis and System Design,主讲:李长森E-mail: ,软件学院,课程目的与教学基本要求,本课程的目标是向学生介绍运用面向对象技术开发软件系统的方法。讲述软件需求分析与系统设计、软件开发过程(包括统一软件开发过程)、建模语言(统一建模语言)和设计模式等有关概念及其应用技巧。要求学生牢固掌握软件需求分析与管理的方法和技术以及在一个典型的开发过程中运用UML(统一建模语言)和设计模式进行对象建模的方法、技能和技巧。为使用面向对象的分析和设计技术来建造一个健壮的和易于维护的软件系统打下基础。,教学设想,本课程将照统一软件开

2、发过程(UP)定义的分析和设计工作流,介绍需求分析与系统设计的制品以及生成这些制品所涉及的技术和方法。采用课程讲解与实验相结合的案例教学方式。通过一个案例的分析和设计过程讲述面向对象分析与设计的基本概念及其应用技巧、利用统一建模语言(UML)和设计模式(Patterns)进行系统分析与设计的全过程。实验课在Rational Rose CASE工具环境的支持下对同一案例进行分析与设计工作。使学生对可视化建模过程和相应的制品(artifact)有一个较全面的认识。,教材,UML和模式应用 - 面向对象分析和设计及统一过程导论(第二版)(影印版),中国电力出版社,2004.5.1. Applying

3、 UML and Patterns : An Introduction to Object-Oriented Analysis and Design and Unified Process, Second Edition, Craig Larman, Prentice Hall PTR, 2002,参考书,1 统一软件开发过程,美Ivar Jacobson 等著 周伯生 等译,机械工业出版社, 2002年1月出版2 需求分析与系统设计,Leszek A.Maciaszek 著,金芝 译,机械工业出版社, 2003年6月出第1版 3 软件需求(原书第2版)美Karl E.Wiegers 著,刘伟

4、琴等译,清华大学出版社,2004年11月出版4 UML 与 Rational Rose 2002 从入门到精通,美Wendy Boggs 等著,邱仲潘等译,电子工业出版社, 2002年7月第1版,实验,1 实验目的实验课在Rational Rose CASE工具环境的支持下参考课程的案例进行。使学生掌握一种CASE工具的基本用法,加深在统一软件过程支持下利用面向对象技术进行软件需求分析与系统设计过程和相关制品的理解。2 实验形式利用CASE工具编制分析与设计文档。学生可分组讨论完成实验1-实验4,但必须单独按时提交实验报告。实验5-实验8为可选实验。4 实验报告的要求与提交方式学生应该完成指定

5、的前4个实验,用WORD文档编写实验报告按时提交到: 。 文件命名:mse实验 例如:mse实验0313508002B1林伟东_1。,课程设计,交卷方式: 请用WORD文档通过电子邮件提交答卷, 文件命名:mse测试 例如:mse测试0313508002B1林伟东_1。邮件地址:,本课程提供6份评测题引导学生进行课程设计,学习完第10章(第3讲)后分六次给出测试题。学生按教学方案表指定的时间从本课程FTP上取得试题后,在一周时间内提交书面答卷,教师收到答卷后给出该次测试题的参考答案,学生在参考答案的基础上完成下一份测试题。答卷时采用英文命名用况,类,对象,消息等元素。叙述性答案用中文。必须按规

6、定日期完成这6份测试题,不在乎答案是否与参考答案一致,但每次必须完成并提交答卷。,课程FTP,地址:202.116.76.103 端口:2002 用户名:ss 口令:mse2002 目录:教学资料MSE05教学资料工具,现提供以下FTP地址给软件需求分析与系统设计课程使用。内容包括:参考教材电子版,每堂课的演讲材料,测试题,临时通知和其它资料。请经常关心其内容的变化。建议使用CuteFTP下载工具。,第一讲主要内容:,面向对象分析与设计 迭代式开发和统一开发过程,第1章:面向对象分析与设计,Object-Oriented Analysis And Design,系统建模 软件需求分析与系统设计

7、 面向对象分析与设计 统一建模语言UML(Unified Modeling Language) 设计模式(Design Patterns),为什么要建模? 从建筑方面的建模谈起,奇怪的是,很多软件开发组织开始想建造一座大厦式的软件,而在动手处理时却好像他们正在仓促地造一个狗窝!,系统建模,开发软件为什么要建模:现代软件的趋势是朝着更庞大,更复杂的系统发展。应用环境是迅速变化的,要求软件系统适应迅速变化的环境。建模允许我们通过一种分而治之的办法来处理复杂的问题,使我们能更好地理解待开发的系统。,系统建模,建模的基本原则:正确地选择模型对如何动手解决问题和如何形成解决方案有着意义深远的影响;每种模

8、型可以在不同的精度级别上表示;最好的模型是与现实相联系的;对每个重要的系统最好用一组几乎独立的模型去处理。,软件需求分析与系统设计,分析模型:与问题域和问题空间的调查结果有关,但不涉及解决方案的模型。设计模型:与问题的逻辑解决方案有关的模型。,面向对象系统建模,面向对象建模:所有的软件系统都用对象或类作为其主要构造块面向对象分析:重点在于发现并描述问题域中的对象(或概念)面向对象设计:重点在于定义那些能最终用面向对象设计语言实现的逻辑软件对象。软件对象具有属性和方法。,面向对象系统建模,软件固有的复杂性、一致性、可变性和不可见性。从而确定了软件开发是一种创造性活动,软件不是重复性制造活动的产物

9、。软件工程存在的偶然因素导致我们要在软件的开发过程、工具和方法上进行探讨。,面向对象系统建模,统一建模语言UML:是一种绘制软件蓝图的标准语言。可以用UML对软件密集型系统的制品进行可视化详述和文档化。本课程强调在系统分析与设计时运用UML来描述结果。UML只是一种描述工具。 Developed by Booch, Rumbaugh and Jacobson in Rational Co., 1997设计模式:是指一种在设计问题中经常用到的解决方案。统一开发过程(unified process):(第二章),图:面向对象分析与设计的例子,图:面向对象分析与设计的例子,图:面向对象分析与设计的例

10、子,图:面向对象分析与设计的例子,第2章:迭代式、递增地开发和 软件开发统一过程 UP,Iterative ,incremental development and Unified Process,有关概念,软件生命周期软件开发周期软件开发过程统一软件开发过程 UP,有关概念,软件生命周期定义:软件生命周期是指软件产品从考虑其概念开始,到该产品不再能使用为止的整个时期。一般包括概念阶段,需求阶段,设计阶段,实现阶段,测试阶段,安装阶段及交付使用阶段, 运行阶段和维护阶段。有时还有退役阶段。这些阶段可以有重复,执行时也可以有迭代。,有关概念,软件开发周期定义:软件开发周期是指软件产品从考虑其概念

11、开始,到该产品交付使用为止的整个时期。一般包括概念阶段,需求阶段,设计阶段,实现阶段,测试阶段,安装阶段及交付阶段。这些阶段可以有重复,执行时也可以有迭代。,有关概念,软件开发过程定义1:把用户的要求转变成软件产品的过程叫做软件开发过程。此过程包括对用户的要求进行分析,解释成软件需求,把需求变换成设计,把设计用代码来实现,测试该代码,有时还要进行代码安装和把软件交付运行使用。这些活动可以有重复,执行时也可以有迭代。定义2:进行一组有组织的活动以把用户的要求转化成软件产品。,有关概念,软件过程模型说明执行活动的次序说明什么时候应交出什么制品将活动和制品分配给开发者提供监控项目进程、评估产出和计划

12、未来项目的准则,瀑布模型(waterfall model),计划,需求分析,设计,编码,测试,运行维护,定义 阶段,开发 阶段,维护 阶段,螺旋模型(Spiral Model),提交线 评审,原型3,原型2,原型1,可运行 原型,风险分析,风险分析,风险分析,组装测试,需求计划,开发计划,详细设计,验收 测试,组装 测试,单元 设计,编码,实现,累计 成本,设计确 认验证,软件 需求,需求 确认,软件产 品设计,客户评估,实施工程,风险分析,制定计划,当代软件系统的特点与传统软件过程的缺陷,由于当代软件趋于庞大、复杂以及存在变化等因素,”瀑布模型”存在缺陷。包括:软件开发是一种有风险的业务;大

13、跨度的开发期存在较大的风险。因此,引入将整个项目分解成若干小的开发任务,以迭代式的、递增的、时间盒、进化、螺旋式开发等思想到软件开发过程。即形成统一软件开发过程 UP。,统一过程 Unified Process,统一过程UP: 是一个软件开发过程。是一个通用的过程框架。它的特征是用况驱动、以构架为中心、迭代和增量的。统一过程是基于构件的,即所构造的软件系统是由软件构件通过明确定义的接口互相连接所建造起来的。统一过程是用统一建模语言UML来定制软件系统的所有蓝图。事实上,UML是整个UP的一个完整部分,他们是共同发展起来的。但UML仍然独立于任何软件开发过程,还独立于实现技术。,图:用况模型和其

14、他模型间的依赖关系,图:2.1 迭代的和递增地开发软件系统,统一过程中的四个阶段,初始阶段(Inception)细化阶段(Elaboration)构造阶段(Construction)提交阶段(Transition),UP通过四个主要阶段(Phases)组织项目的工作(Work)和迭代(Iteration),统一过程中的各阶段需完成的主要工作 - Inception,编制简要的愿景文档(approximate vision)描述产品用来干什么,它最终会是什么样子。业务案例(business case)应用能完成哪些业务工作(业务用况);这些业务用况应实现到何种程度。确定范围(scope)确定当前

15、项目要解决产品长远规划中的那一部分。粗略评估成本(vague estimates),统一过程中的各阶段需完成的主要工作 - Elaboration,细化愿景文档(refined vision)迭代地实现核心构架(core architecture) 解决高风险的问题(resolution of high risks)定义大多数的需求(requirements)和范围(scope) 进一步评估成本(more realistic estimates),统一过程中的各阶段需完成的主要工作 - Construction,迭代地实现系统的其余部分准备部署(deployment),统一过程中的各阶段需完成

16、的主要工作 - Transition,beta 测试( beta tests)部署 (deployment),统一过程中的面向进度的有关术语,开发周期 (development cycle)迭代 (iteration)阶段 (phase)里程碑 (milestone)版本 (release)增量 (increment)最终产品版本 (Final production release),图:2.3 Schedule-oriented terms in the UP,阿,图:统一过程的工作人员,工作人员,产品,统一过程中的核心工作流(Workflows),业务建模(Business Modelin

17、g) 需求分析(Requirements)设计(Design)实现(Implementation)测试(Test),工作流是指一组活动。,图:2.4 UP的工作流,图:2.5 UP的工作流和阶段,表:2.1 Sample Development Case of UP artifacts,工作,产品,UP 的核心思想,短时间盒(timebox)迭代式开发 开发过程中不断进行调整 在早期的迭代中解决高风险和高价值的主要问题 不断与用户衔接,及时得到反馈意见 早期注意构造核心的体系结构(architecture) 早期进入实现和测试,不断进行质量检验 使用用况(use case) 可视化建模(用UM

18、L) 仔细地管理需求 控制变更,图:UP在开发的早期解决高风险的主要问题,敏捷过程 (The Agile Process),预测性过程(predictive process)适应性过程(adaptive process),试图在相当长的时间内详细地计划和预测活动和资源的分配。,认为变化是不可避免的驱动因素并且灵活的改写。,Kent Beck (Extreme Programming) Alistair cockburn (Crystal Methdolgies) Jim Highsmith (Adaptive Software Development) .,起草了一个旨在使软件开发团队既有快速

19、工作、快速相应变化能力的敏捷软件开发宣言(The Manifesto for Agile Software Development),2001年2月成立敏捷软件开发联盟,建成敏捷联盟(Agile Alliance),发起者有17位软件界专家,包括:,敏捷软件开发宣言(The Manifesto for Agile Software Development),Kent Beck Jims Grenning Robert C.Martin Mike Beedle Jim Highsmith Steve Mellor Arie Van Bennekum Alistair cockburn ,敏捷过程

20、意味着轻量级和适应性过程,敏捷地反映不断变化的要求。,我们正在通过亲身实践以及帮他人实践,揭示更好的软件开发方法。通过这项工作,我们认为:,个体和交互 胜过 过程和工具可以工作的软件 胜过 面面俱到的文档客户合作 胜过 合同谈判响应变化 胜过 遵循计划虽然上述右项也有价值,但我们认为左项具有更大的价值。,敏捷UP(The Agile UP),推荐一个小的活动和制品集,使其简化. 由于UP是迭代的,需求和设计在实现之前是不完整的,他们是通过一系列基于反馈的迭代而显现出来的. 对整个项目没有一个详细计划(detailed plan),只有高层计划(high level plan),称作阶段计划 (

21、Phase Plan)。该计划估计项目各阶段的结束日期和主要的里程碑 ,到达这些里程碑的步骤是不详细的。 详细计划又称迭代计划,仅对下一次迭代做出更详细的计划。详细计划是从迭代到迭代可适应地(adaptively)制定的。,UP采纳和应用了敏捷过程的精髓,图:2.6 Book organization is related to the UP phases and iterations.,图:本课程涉及的专题和技巧,The End,第一讲结束,请记下E-mail: FTP地址:202.116.76.103 端口:2002 用户名:ss 口令:mse2002 目录:教学资料MSE05教学资料工具,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报