- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2_软件工程方法
本章主要内容 软件工程概述 软件生存周期 软件的需求分析 软件测试 软件维护 学习要点 了解软件工程的含义和软件危机 了解软件生命周期中各个阶段中的基本工作 掌握数据流图和数据字典 掌握软件测试的步骤 软件是由计算机程序(60年代)演变而形成的一种概念。 程序是按既定算法,用某种计算机语言规定的指令或语句编写的指令或语句的集合。 例:列出和为10的两个自然数 软件是程序再加上程序实现和维护程序时所必需的文档的总称。 软件是程序和程序设计发展到规模化和商品化后所逐渐形成的概念。 2.软件危机 软件危机的原因 课堂思考 用软件工程的方法,思考如何构建一个《学生档案管理系统》?构建该系统会涉及哪些相关人员?会生成哪些相关文档?会有哪些相关步骤? 需求分析阶段的特点: 1)用户与开发人员缺乏共同语言,很难进行交流。(复合型人才——系统分析员) 2)对于一个大型而复杂的软件系统,用户也很难精确完整地提出它的功能要求,只有经过多次长时间的讨论才逐步精确、完善。 3)需求分析对整个开发阶段都具有重大的影响,它是软件开发的基础。需求分析错误发现越晚,代价越高。 需求分析的任务: 理解和表达用户的要求;形成“需求说明书”。 用户的要求包括软件系统的范围、功能、性能、限制和约束。 范围是指软件的规模有多大,处理的对象及性质是什么; 功能是指能做什么样的加工和处理,如数据录入、查询、统计分析、打印报表等; 性能是指处理数据量的多少、系统响应时间、查询速度、数据的精度、系统工作可靠性等; 限制和约束是指开发费用、开发周期、可使用的资源等。 需求说明书主要有三个作用: 作为用户和软件开发人员之间的合同; 作为开发人员进行设计和编程的根据; 作为软件开发完成后验收的依据。 编写需求说明书时,应该完整、一致、精确、无二义性。 “系统查询等待时间很短”? “查询等待时间不超过5秒”。 需求说明书包括的主要内容: 1、概述 目的、意义、背景 2、需求说明 (1)功能说明;(2)性能说明 3、数据描述 (1)数据流图;(2)数据字典;(3)接口说明 4、运行环境 (1)设备;(2)支持软件 5、限制 成本、进度、实现等的限制 6、参考文献、附录 二、结构化分析方法 结构化分析(SA,Structured Analysis)方法是一种简单实用、使用很广的软件需求分析方法,适用于分析大型数据系统。 SA方法使用数据流图表达需求;用数据词典记录数据的逻辑定义。 SA方法的基本思想和步骤是采用“分解”和“抽象”的基本手段,自顶向下逐层分解,控制复杂性。 降维-复杂性降低-分解(大HIS:PACS-门诊医生工作站-护士工作站。。。) 考虑最本质的属性-抽象(电子病历) 三、数据流图 数据流图是描述系统中数据流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出以及把逻辑输入转换为逻辑输出所需要的加工。 数据流图由四种基本成分组成: 四、数据字典 数据流图描述软件系统的信息流程和加工,但并没有对各个成分进行详细说明。SA方法使用数据字典对这些成分进行详细说明。 数据流图中的数据流名、数据存储名、数据项名、基本加工名的严格定义的集合构成了数据字典。 数据字典是SA方法重要工具之一,与数据流图配套,缺一不可。 数据字典中有四种条目:数据流、数据存储、数据项和基本加工。 数据字典的作用: 建立一组一致的定义,便于用户与分析员之间、用户与程序员之间的通讯,使程序员用一致的数据项和数据存储定义来描述数据库和数据结构,避免了模块接口和系统接口的不一致性。 软件测试的原则 (7) 尽早并不断地进行测试,使测试工作贯穿于整个软件开发的过程中。 (8)测试用例应该由以下两部分组成:输入数据和预期的输出结果。 (9)不仅要选择合理的输入数据作为测试用例,还应选用不合理的输入数据作为测试用例。 (10)除了检查程序是否做了应做的工作之外,还应检查程序是否做了不应做的事。 (11)应该长期保留所有的测试用例,直至这个程序系统被废弃不用为止。(设计测试用例是很费力的) 本章小结 1 了解软件工程的含义和软件危机的现象和产生原因 2 掌握软件生命周期(计划期、开发期和运行期)和瀑布模型 3掌握结构化分析方法、数据流图和数据字典 4 掌握软件测试的步骤(模块、组装、确认和系统测试),了解软件测试的基本原则 5 了解软件维护的必要性 1.4 软件测试 1963年美国发射了一颗探测金星的火箭,其控制程序中的一个FORTRAN程序语句“DO 5 I=1,3”被误写成“DO 5 I=1.3”,结果导致火箭爆炸,损失一千万美元。 这仅是“,”号与“.”号之差,就造成巨大的损失,可见软件测试是多么至关重要。 现在的软件是如此的庞大和复杂,在软件开发的任何一个阶段
文档评论(0)