软件工程-2软件开发过程.ppt_第1页
软件工程-2软件开发过程.ppt_第2页
软件工程-2软件开发过程.ppt_第3页
软件工程-2软件开发过程.ppt_第4页
软件工程-2软件开发过程.ppt_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1.西南财经大学天府学院软件工程;2.可行性研究,可行性研究的主要任务是“了解客户的需求和现实环境,从技术、经济和社会等方面研究和论证本软件项目的可行性,编制可行性研究报告,并制定初步的项目开发计划。”,3,可行性研究内容(1)技术可行性(2)经济可行性(3)操作可行性(4)社会可行性(法律可行性)(5)选择,4,技术可行性衡量特定技术信息系统解决方案的实用性和技术资源的可用性,考虑问题,开发风险,分析资源,分析相关技术的发展(现有技术是否能实现新系统,技术难点,推荐的先进技术),5,经济可行性衡量系统解决方案的性能价格比,成本/效益分析,有形成本之间的关系, 效益无形成本、效益价值和成本、质

2、量和价值之间的关系、成本、价值/成本平衡、6、成本和效益估算、开发成本估算、开发效益估算、运营成本估算、7、应从哪些方面考虑成本?8,前期业务费用(签署开发合同前)(1)投标(2)市场研究和市场分析的系统开发费用,硬件和软件的年度运营费用,9,系统开发成本系统分析师系统设计师系统开发人员系统测试人员系统实施人员项目经理数据库管理员技术作者秘书数据通信专家转换期间的数据输入人员项目管理(QA),10,培训:开发人员的内部培训课程用户培训材料:耗材,如复印磁盘和纸张,11, 购买硬件和软件:20台工作站Windows软件1,000美元20台工作站内存升级8,000美元网络软件17,500美元20台

3、工作站办公软件产品20,000美元系统开发总成本161,670,12美元年度运营成本(每年)人员:维护程序员/分析师网络管理员购买硬件和软件升级:硬件和软件材料及杂项; 13.运营可行性、用户使用可能性、时间安排可行性、组织和文化可行性;14.社会可行性(法律可行性),开发项目是否会造成侵权、损害或其他社会或政治责任问题;15.完成可行性研究计划。可行性研究计划,16,可行性研究步骤,(1)审查和确定系统目标和规模,(2)研究使用系统工作流程,(3)导出新系统的高级逻辑模型,(4)重新定义问题,(5)导出和评估备选方案,(6)推荐可行方案,(7)起草发展计划,(8)编制可行性研究报告并提交审查

4、,17,开发人员往往渴望成功,希望指导开发,希望开发人员能够理解用户的需求,希望用户能够理解测试部门对开发人员的要求是有道理的。18.需求分析的任务,准确定义未来系统的目标,并确定系统必须做什么来满足用户的需求。以规范的形式准确表达用户需求。19、什么是用户需求,在思考和涉及几个问题时如何识别和获取需求?你能用什么方法与用户交流?什么是需求建模?你如何理解模型和建模?20,软件需求分析的几个阶段,问题分析,问题评估和方案综合建模协议审查,系统分析师的主要焦点是“什么”,而不是“如何”,21,需求获取所面临的挑战,客户不能清楚地说出需求可变性的复杂性和问题空间理解的不完整性和不一致性,22,需求

5、获取的常用方法,建立分析团队领域的专家:领导系统分析师:指导客户访谈问题的分析和确认, 23,出版社系统问卷,24,出版社系统问卷,25,谁是客户,而客户是指直接或间接从产品中受益的个人或组织软件客户,包括项目风险承担者(s t a k e h o l d e r ),他们提出要求、支付金钱、选择、指定或使用软件产品,或获得产品所产生的结果。26、客户和开发商之间的合作关系,高质量的需求来自客户和开发商之间的有效沟通与合作。通常,开发人员和客户或客户代理成为对立的关系。27、软件客户需求权书(1),客户拥有以下权利:1。要求分析师使用符合客户语言习惯的表达方式。2.分析师需要了解客户系统的业务

6、和目标。3.分析师需要组织需求获取过程中引入的信息,并准备软件需求规范。4.要求开发人员解释需求过程中产生的工作结果。5.要求开发人员在整个沟通过程中保持和保持合作的专业态度。28,软件客户需求声明(2),6。要求开发人员为产品实现和需求提供建议和想法。7.描述产品,使其易于使用。8.需求可以调整,现有的软件组件可以重用。9.当需求需要改变时,有一个真实可信的成本、影响、收益和损失评估(t r a d e-o ff)。10.获得一个满足客户功能和质量要求的系统,这些要求得到开发人员的同意。29,软件客户需求义务(1),客户有以下义务:1。向分析师解释业务和商业术语以及其他专业问题。2.花时间清

7、楚地解释需求并不断改进。3.在解释系统要求时,尽量做到准确和详细。4.必要时,根据需求及时做出决定。5.尊重开发商的成本估算和需求的可行性分析。30、软件客户要求义务(2)、6。优先考虑个人需求、系统特征或用例。7.审查需求文档和原型。8.一旦你知道你想要改变项目需求,你应该立即联系开发者。9.当需求发生变化时,应按照开发组织确定的工作流程进行处理。10.尊重开发人员在需求工程中采用的过程。31岁。“签订合同”是什么意思?客户代表通常认为“签订合同”没有意义。更重要的是,签字是以需求协议为基础,与你的重要客户讨论权利和义务,从而达成协议并付诸实践。32.高质量需求过程带来的好处。开发后期重做工

8、作,整个维护阶段大大减少。强调需求的质量不能吸引一些人的注意力。他们错误地认为花在需求上的时间会导致产品开发的延迟。所选系统的需求被明确地分配给各种软件子系统,并强调产品工程的系统方法。这可以简化硬件和软件的集成。33.高质量需求过程带来的好处,以及开发后期和整个维护阶段的重做工作大大减少。强调需求的质量不能吸引一些人的注意力。他们错误地认为花在需求上的时间会导致产品开发的延迟。所选系统的要求将明确分配给每个软件子系统,并将强调产品工程的系统方法。这可以简化硬件和软件的集成。优秀要求的特点,1。正直,2 .正确,3 .可行性,4 .必要性,5。优先顺序,6 .歧义,7。可验证性,35。需要获得

9、什么,1 .用户需求分类:(1)功能需求:定义了系统应该做什么(描述系统必须支持的功能和过程);(2)非功能性要求(技术要求):定义了系统工作时的特征(描述运行环境和性能目标);36.包含在两类需求中的内容:(1)功能(2)性能(3)环境(4)界面(5)用户或人为因素(6)文档(7)数据(8)资源(9)安全性和保密性(10)软件成本消耗和开发进度(11)质量保证(37)。功能需求,系统做什么?系统什么时候运行,做什么?何时以及如何修改或升级系统?38,性能要求,软件开发的技术指标,如:存储容量限制执行速度,相应的时间吞吐量,39,环境要求,硬件设备:型号,外设,接口,位置,分布,温度,湿度,磁

10、场干扰等。软件:操作系统网络数据库,40,接口要求,是否有其他系统的输入?其他系统的输出?对数据格式有什么规定吗?对数据存储介质有什么规定吗?41,用户或人为因素,用户类型?不同用户的熟练程度?需要什么样的培训?用户理解和使用该系统有多困难?用户操作系统出错的可能性?42、文件要求,需要什么文件?这份文件的读者是谁?43、数据要求,输入输出数据的格式?您多久接收和发送一次数据?数据的准确性和精确性?数据流量?数据需要保存多长时间?44、资源要求、数据和软件运行所需的软件。内存空间和其他资源。软件开发和维护所需的人力、支持软件和开发设备。45、安全要求,需要控制对系统或系统信息的访问吗?如何在用

11、户之间隔离数据?用户程序是如何与其他程序和操作系统隔离的?系统备份要求?46、软件成本消耗和开发进度需求,是否有规定的开发时间表?硬件和软件投资有限制吗?47、质量保证、系统可靠性要求?系统必须监控和隔离错误吗?指定平均系统错误时间?出错后重启系统的时间?设计中如何反映系统变化?维护是否包括系统的改进?系统的可移植性?如何写需求分析报告,首先要从宏观角度讲一、二、三、四、五,然后从细节上讲甲、乙、丙、丁、戊。需求分析不是从像侦探推理这样的线索开始的。首先要理解宏观问题,然后是细节问题,如S=D1,D2,D3,Dn=P1,P2,P3,Pm Pj=F1,F2,F3,Fk,49,知识和技能。绝大多数

12、软件开发人员都没有接受过有效需求工程所需技能的正式培训。所有开发人员都应该接受需求工程的基本培训。参与软件开发的用户代表和经理应该接受为期一天的需求工程培训。开发经理和客户经理还应该参与使开发人员理解应用领域的基本概念,并组织一些关于客户业务活动、条款、目标等的简短研讨会。帮助开发人员对应用领域有一个基本的了解。确定需求开发流程,编制项目视图和范围文档,对用户组进行分类并总结其各自的特点,选择每类用户的产品代表,建立典型用户的核心团队,收集相似产品或您的产品以前版本的用户代表,从中收集当前产品的功能性需求和非功能性需求。51.需求获取,让用户代表确认示例的使用,召开应用开发联络会,分析用户工作

13、流程,观察用户执行业务任务的过程,确定质量属性和其他非功能性需求,并考虑功能性需求之外的非功能性质量特征,通过检查问题进一步改善可视化需求建模需求。建立用户界面原型。确定需求优先级。53,数据字典是用户可以访问以记录数据库和应用程序源数据的目录。主动数据字典是指当数据库或应用程序结构被修改时,其内容可以由数据库管理系统自动更新的数据字典。被动数据字典是指修改时必须手动更新内容的数据字典。数据字典是一个保留空间,一个数据库,用来存储数据库本身的信息。数据字典可以包含信息,例如数据库中所有模式对象的信息,例如表、视图、簇、索引等。分配了多少空间,当前使用了多少空间,等等。列的默认值。限制信息的完整

14、性。用户的名字。授予用户和角色的权限。用户访问或使用的审计信息。其他生成的数据库信息。55,数据字典的组成,数据项:它是最基本的数据元素和最小的有意义的数据单元。在数据字典中,数据项的特征定义如下:数据项的名称、编号、别名和简要描述;数据项的长度;数据项的值范围。数据结构:数据项是不可分解的数据,而数据结构是可以进一步分解的数据包。数据结构由两个或多个相关的数据元素或其他数据结构组成。数据结构可以由几个数据元素、几个数据结构以及几个数据元素和数据结构组成。数据流:数据流由一个或一组固定的数据项组成。定义数据流时,不仅要指出数据流的名称和组成,还要指出它的来源、目的地和数据流。数据存储:数据字典

15、中的数据存储仅描述数据的逻辑存储结构,但不涉及其物理组织。处理过程:处理逻辑的定义只解释了数据流程图中的底层逻辑。57.简而言之,数据字典是数据库设计中用来描述数据库中基本表的设计的工具,主要包括字段名、数据类型、主键、外键等。58,补充知识,需求陈述:根据与现场实际客户的沟通,整理客户的需求。CMMI有标准模板,从客户的角度强调产品功能。需求规格说明:它从业务规则开始,在软件的概要设计中趋于更详细。从开发和测试的角度,我们讨论产品功能,它应该包括原型接口、业务接口、活动图等。59.数据字典条目的定义示例、预订请求客人数据、住宿期限、客人类别、客人姓名、地址、身份证号码、护照号码、支付方式、身

16、份证号码=15位十进制数字、18个护照号码字母、8个字母“A”、“Z”、0、“9”、60、 F1:航班信息文件航空公司名称航班号开始和结束日期出发时间着陆时间航空公司名称2个字母4个航班号3个十进制数字3个字母“A”“Z”十进制数字“0”“9”开始和结束1个汉字10出发时间着陆时间61、时间“00”和“23”分为“00”、“59”、日期、月份、年份、200020022004、“01”、“12”、“01”、“31”、“62”。 系统概要设计主要采用面向对象的编程方法,用统一建模语言进行描述。这里主要使用两种类型的用例图活动图,63,用例模型的基本组成部分:用例,角色和系统用例图:风险分析,交易估计,交易,交易,接待员,酒店系统,金融系统,64,如何找到角色-通过回答以下问题,您可以帮助建模者使用系统找到角色。谁是需要在系统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论