您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 系统分析与设计第01章
SystemAnalysisandDesign学时:54理论+10实验教材:《系统分析与设计敏捷迭代方法》,机工考试:平时(50%)+期末(50%)平时:考勤(10%)、作业(10%)、笔记(10%)、过程性考核(10%)、实验(10%)关于课程学习要求学习本课程前,应该掌握的知识:1.软件工程的基本概念2.面向对象的基本概念主要内容1.系统分析与设计的概念2.软件开发的结构化方法和面向对象方法3.软件开发生命周期的预测方法和自适应方法4.敏捷与迭代开发5.案例描述系统分析:是一系列活动,这些活动能够使人理解并规范新系统能完成哪些功能,它详细描述了一个系统必须满足的需求或者必须解决的问题系统分析与设计的概念系统设计:是一系列活动,允许人们详细描述系统是如何解决需求的,它详细地规范系统解决方案的所有组成部分,以及它们是怎样系统工作以提供预想解决方案的系统分析与设计的概念要点:分析强调“理解”和“规范”,要说明“做什么”设计强调“解决”,要说明“怎么做”系统分析与设计的概念系统分析与设计的概念用户期望(需求原始素材)解决方案(规范的模型)系统需求(规范的模型)分析设计用户的自然语言面向现实世界开发人员的规范描述面向现实世界面向编程的规范描述面向计算机结构化编程1.三种基本结构2.自顶向下,逐步求精3.模块化软件开发的结构化方法结构化设计1.确定程序集(模块)2.每一个模块的功能3.模块如何组织软件开发的结构化方法结构图(p.181-8-14)结构化分析1.定义输入输出2.定义系统要处理的数据3.定义数据处理过程软件开发的结构化方法数据流图(p.182-8-15)实体-联系图(p.182-8-16)软件开发的结构化方法1.以数据为线索,定义数据从源头到终点经历的处理2.需要开发人员对系统有全局把握3.导致大型软件可控性差主要思想•认为世界是由相对独立的对象构成的•每个对象维护着一些数据,拥有一些功能•对象间通过消息进行交互•所有的对象互相配合,形成整个系统软件开发的面向对象方法面向对象分析1.定义系统中的对象2.定义对象之间的相互作用软件开发的面向对象方法类图(p.184-8-19)顺序图(p.184-8-20)面向对象设计1.将现实世界的对象映射成类2.将对象间的相互作用映射成类之间的通信软件开发的面向对象方法面向对象编程封装:基础继承:关键多态:补充软件开发的面向对象方法预测方法(传统的):可以预先计划、组织开发项目并可以根据计划对系统进行开发的方法软件开发生命周期的预测方法和自适应方法自适应方法(新的):当系统需求没有被很好地理解,项目不能被完整地计划时应用软件开发生命周期的预测方法和自适应方法预测的自适应的迭代开发:在原有开发成果的基础上,进行新一轮开发,这一过程一遍又一遍地重复,整个系统以一种有机的方式“成长”增量开发:在迭代开发中,经若干次迭代发布一个版本(增量),使用户能更快地获得系统的一部分,这种开发方式称为增量开发敏捷与迭代开发敏捷开发:是一种理论和一系列在未知且快速变化环境中开发系统的纲要,能被任意一种系统开发方法使用敏捷与迭代开发敏捷方法的诞生:两个“更快”,两个“可能”敏捷与迭代开发两个“更快”•需求变化越来越快•技术更新越来越快两个“可能”•技术进步,快速开发成为可能•互联网发展,频繁更新成为可能敏捷方法的诞生2001年2月,17位软件工程领域专家(敏捷联盟),发布了敏捷软件开发宣言(ManifestoforAgileSoftwareDevelopment)敏捷与迭代开发我们一直在实践中探寻更好的软件开发方法,身体力行的同时也帮助他人。由此我们建立了如下价值观:个体和互动高于流程和工具工作的软件高于详尽的文档客户合作高于合同谈判响应变化高于遵循计划也就是说,尽管右项有其价值,我们更重视左项的价值。极限编程XPSCRUM动态系统开发方法DSDM自适应软件开发ASD特征驱动开发FDD测试驱动开发TDD流行的敏捷方法落基山运动用品(RMO)管理系统1.综合销售和市场营销子系统(CSMS)2.供应链管理子系统(SCMS)3.贸易展览子系统(TSS)4.顾客账户子系统5.报表子系统案例描述采购员供应商顾客电话销售网站仓库零售店顾客采购订单运输运输运输线下零售订单订单TSSSCMSCSMS系统开发的6个核心过程(CoreProcess)1.确定问题或需求,并获得批准以向前推进。2.计划和监控项目——做什么、怎么做以及谁来做。3.发现和理解问题或者需求的细节。4.设计能解决问题或者满足需求的系统组件。5.建立、测试和整合系统组件。6.完成系统测试并部署解决方案。在系统开发过程中,这6个过程会经历多次迭代,每次迭代中每个过程的工作量不同案例描述案例描述用6天时间完成“RMO贸易展览系统”的第1个迭代,实现3个目标:1.使项目获得批准2.得到一个系统完整版本的清晰视图——体现所有的主要功能和数据需求3.决定细节规范和开发这个系统一部分的解决方案(例如,分析、设计、建立和测试系统的一部分)1.确定问题,确定系统目标(CP1)2.获得批准(CP1)项目开始前的准备CP1:确定问题或需求,并获得批准以向前推进。贸易展览系统可视化文档(p.8-1-5)系统能力问题描述商业收益1.确定系统主要功能(CP2)2.确定每个迭代实现哪些功能(CP2)3.确定团队成员和职责(CP2)第一天的工作CP2:计划和监控项目——做什么、怎么做以及谁来做。工作分解结构示例(p.9-1-6)工作顺序草案(p.10-1-7)1.初步需求调查(CP3)2.建立初步用例列表和用例图(CP3)3.建立初步类列表和类图(CP3)第二天的工作CP3:发现和理解问题或者需求的细节。用例描述查询供应商通过供应商的名称来查询供应商的信息和联系方式添加/更新供应商信息添加新的或者更新现有的供应商信息查询联系人通过联系人姓名来查询联系人的信息添加/更新联系人信息添加新的或者更新现有的联系人信息查询产品信息用描述或者供应商的名称来查询产品信息添加/更新产品信息添加新的或者更新现有的产品信息上传产品图片上传产品的图片用例列表(p.12-1-8)用例图(p.14-1-11)对象类属性供应商(Supplier)供应商名称、地址、描述、注释联系人(Contact)姓名、性别、地址、电话、电子邮件、职位、注释产品(ProductItem)类别、名称、描述、注释产品图片(ProductPicture)ID、图片对象类列表(p.12-1-8)贸易展览系统的初始类图(p.12-1-10)第三天的工作1.深入进行需求调查以获取需求的细节(CP3)2.理解和记录每个用例的详细工作流程(CP3)3.用界面原型和报表定义用户界面(CP3、CP4)CP3:发现和理解问题或者需求的细节。CP4:设计能解决问题或者满足需求的系统组件。查询供应商用例的工作流图(p.14-1-12)查询供应商用例的屏幕布局草图(p.15-1-13)1.设计数据库(CP4)2.设计系统的高层结构(CP4)第四天的工作CP4:设计能解决问题或者满足需求的系统组件。供应商子系统的数据库模式(p.16-1-14)贸易展览系统架构配置图(p.17-1-15)初步设计类图(p.18-1-16)供应商子系统架构设计图(p.19-1-17)1.程序员编写代码(CP5)2.程序员对所编的类和功能进行单元测试(CP5)第五天的工作CP5:建立、测试和整合系统组件。集成测试、系统测试、验收测试(CP6)第六天的工作CP6:完成系统测试并部署解决方案。用例图、类图、顺序图、状态机图、活动图类图、顺序图、通信图、组件图、包图本课程后续内容
本文标题:系统分析与设计第01章
链接地址:https://www.777doc.com/doc-6333587 .html