当前位置首页 > 汽车/机械/制造 > 机械软件
搜柄,搜必应! 快速导航 | 使用教程

软件工程软件工程实践综述

文档格式:PPTX| 37 页|大小 937.75KB|2024-11-02 发布|举报 | 版权申诉
第1页
第2页
第3页
下载文档到电脑,查找使用更方便 还剩页未读,继续阅读>>
1 / 37
此文档下载收益归作者所有 下载文档
  • 版权提示
  • 文本预览
  • 常见问题
  • 单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,软件工程,第二部分 软件工程实践,第5章软件工程实践综述,Chapter 5,Practice:A Generic View,软件过程提供了路线图,软件工程实践提供了沿路驾驶细节,软件工程实践四要素:概念、原则、方法、开发工具软件工程实践,软件工程实践,Practice is a broad array of concepts,principles,methods,and tools that you must consider as software is planned and developed.,It represents the detailsthe technical considerations and how tosthat are below the surface of the software processthe things that youll need to actually build high-quality computer software.,George Polya在How to Solve it中解决问题的本质思路,也是软件工程实践的精髓:,理解问题(交流和分析)。

    计划解决方案(建模和软件设计)实施计划(代码生成)检查结果的精确度(测试和质量保证),5.1.1 实践的精髓,5.1.1 实践的精髓,George Polya,in a book written in 1945(!),describes the essence of software engineering practice,Understand the problem,(communication and analysis).,Plan a solution,(modeling and software design).,Carry out the plan,(code generation).,Examine the result for accuracy,(testing and quality assurance).,At its core,good practice is common-sense problem solving,将讨论一些不同层次上的原则一部分关注软件工程的整体一部分关注特定的、通用的框架活动(如沟通)一部分关注软件工程的活动(如架构设计)或技术任务(如用例场景书写)。

    5.1.2 核心原则,David Hooker提出7个关注软件工程整体实践的核心原则:,存在原则,:对用户是否有用?,保持简洁,:,简洁,不是简化,不是快速和粗糙,维护视图,:,清晰的视图是软件项目成功的基础,生产者要让消费者理解,:,让别人明白你在做什么,面向未来,:,设计不要限于一隅,但不要过分,计划复用,:复用省时省力,但也有代价,认真思考,:动手之前要认真思考,5.1.2 核心原则,5.1.2 核心原则,Provide value to the customer and the user,KISkeep it simple!,Maintain the product and project“vision”,What you produce,others will consume,Be open to the future,Plan ahead for reuse,Think!,在分析、建模之前,需要通过沟通活动(也称需求诱导)收集客户需求软件工程师的沟通工作存在于:,与其他技术人员,与客户和其他共同利益者,与项目经理,5.2 沟通实践,5.2 沟通实践,与客户沟通的原则,倾听,:,谦虚。

    易经:谦之一卦,六爻皆吉六十四卦,唯一无缺点的卦:谦卦,有准备的沟通,:不打无准备的仗,需要有人推动,:让沟通有效、化解冲突,最好当面沟通,:打电话比短信来去有效多了,记录所有决定,:好习惯,保持通力协作,:,聚焦并协调话题,:保持话题局部化,不是摆龙门阵,采用图形表示,:一图胜千言,继续前进原则,:沟通也有时间限制,谈判双赢原则,:双赢,而不是战胜对方,5.2 沟通实践,5.2 沟通实践,Principles,Listen,Prepare before you communicate,Facilitate the communication,Face-to-face is best,Take notes and document decisions,Collaborate with the customer,Stay focused,Draw pictures when things are unclear,Move on,Negotiation works best when both parties win.,5.2 沟通实践,5.2 沟通实践,适度计划的原则:,理解项目范围,:,确定目标。

    如果不知道去何处,就无法使用路线图客户参与策划,:项目交付时间、顺序等,采用迭代计划,:,项目计划不可能一成不变,及时调整计划,基于已知估计,:,估计的基础要清楚,否则估计无意义,计划考虑风险,:,对风险要有应急计划,计划要能适应风险,保持脚踏实地,:,人不能每天每时每刻都工作,调整计划粒度,:灵活调整计划的粒度制定计划确保质量,:确定如何确保开发的质量,描述如何适应变化,:无法控制的变化有杀伤力,经常跟踪、校正计划,:随机应变,5.3 策划实践,5.3 策划实践,通过创建模型可以更好地理解需要构建的实体实体是物理实体时,可以创建在形式和形状上都和实物相同的模型(如雕塑小样、飞机模型、大厦模型、沙盘),实体是软件时,模型是另外一种样子,不同抽象层次下模型也不同5.4 建模实践,在软件工程中需要创建两类模型:分析模型和设计模型分析模型从三方面表达客户的需求:信息域、功能域、行为域,设计模型描述能帮助软件开发人员进行高效开发的软件特征:体系结构/架构、用户界面、构件级的细节5.4 建模实践,5.4 建模实践,We create models to gain a better understanding of the actual entity to be built,Analysis models,represent the customer requirements by depicting the software in three different domains:,the information domain,the functional domain,and the behavioral domain,.,Design models,represent characteristics of the software that help practitioners to construct it effectively:,the architecture,the user interface,and component-level detail,.,虽然有许多分析建模方法,每种分析方法都有其独立观点,不过所有的分析方法有共同的操作原则:,描述并理解问题的信息域,。

    信息域包括流入系统数据、流出系统的数据、搜集和组织永久性数据对象的数据描述软件所要实现的功能,软件功能直接为最终用户服务功能可以从不同抽象层次描述描述软件的行为(作为外部事件的结果),软件的行为受外部环境交互驱动描述信息、功能和行为的模型必须能分解,以便揭示分层(或分级)细节,分而治之分析方法能从本质信息转向实现细节,衔接分析模型和设计模型分析建模从最终用户角度描述问题开始,在没有考虑解决方案的前提下描述问题的“本质”5.4.1 分析建模原则,5.4.1 分析建模原则,Analysis modeling principles,Represent the information domain,Represent software functions,Represent software behavior,Partition these representations,Move from essence toward implementation,Elements of the analysis model(Chapter 8),Data model,Flow model,Class model,Behavior model,5.4.1 分析建模原则,5.4.1 分析建模原则,软件设计模型如同建筑师的房屋设计方案。

    由描述所要建造的东西(如建立房屋结构的三维透视图)开始,然后逐渐进行细化,为每个构建详图(如管线分布图)提供指导类似,软件设计模型为系统提供各式各样的视图5.4.2 设计建模原则,软件设计方法有多种:数据驱动的、模式驱动的、面向对象的都使用同一套设计原则:,设计可以追溯到分析模型,经常关注待建系统的架构,软件架构是系统的骨架设计应从架构开始,然后才考虑构件级设计数据设计和功能设计同等重要,数据设计是架构设计的基本要素必须设计接口(包括内部接口和外部接口),要的接口设计让集成变得简单,并能辅助测试人员进行构件功能测试用户界面设计必须符合最终用户要求,界面设计强调使用方便性用户界面是软件中可见的部分,不好的界面设计使整个软件变得很糟糕5.4.2 设计建模原则,软件设计方法有多种:数据驱动的、模式驱动的、面向对象的都使用同一套设计原则:,功能独立的构件级设计,构件提供的功能是内聚的构件之间以及构件与外部环境之间松散耦合,耦合可以通过多种方式实现:构件接口、消息传递、全局数据,耦合度高则发生错误的概率高,软件可维护性低设计模型应尽可能易于理解,让别人知道你做的是什么设计应该迭代进行每次迭代,设计者都应该尽力简化,。

    5.4.2 设计建模原则,5.4.2 设计建模原则,Principles,Design must be traceable to the analysis model,Always consider architecture,Focus on the design of data,Interfaces(both user and internal)must be designed,Components should exhibit functional independence,Components should be loosely coupled,Design representation should be easily understood,The design model should be developed iteratively,Elements of the design model,Data design,Architectural design,Component design,Interface design,5.4.2 设计建模原则,构建活动包括一系列编码和测试任务,5.5 构建实践,5.5.1 编码的原则和概念,5.5.1 编码的原则和概念,5.5 构建实践,5.5.2 测试原则,Davis提出了一套测试原则:,所有的测试都应该可以追溯到用户需求,。

    测试计划应早于测试,在完成分析模型后就开始测试计划将Pareto原则应用于软件测试,80%的错误集中在20%的构件中测试应从“微观”开始,逐步转向“宏观”穷举测试是不可能的交付一个软件增量时应遵守的原则:,客户对于软件的期望必须得到管理完整的交付应高包括安装和测试技术支持必须在软件交付之前就确定下来必须为最终用户提供适当的说明材料有缺陷的软件应该先改正再交付5.6 部署实践,5.6 部署。

    点击阅读更多内容
    最新文档
    2025年作风建设学习教育开展情况的报告范文.docx
    在2025年民营企业座谈会上的主持讲话范文.docx
    在2025年全县教育领域群众身边不正之风和腐败问题集中整治调度会上的讲话范文.docx
    工委副书记在2025年机关DeepSeek应用专题辅导培训班开班仪式上的讲话范文.docx
    在2025年DeepSeek大模型政务应用培训会上的讲话范文.docx
    在青年干部培训结业典礼上的讲话文稿.docx
    2025年副书记防汛工作会议上的讲话范文.docx
    2025年主管商务部门党组书记在理论学习中心组会上研讨发言文稿.docx
    2025年国企党委关于干部职工思想政治工作情况的报告范文.docx
    在机关单位作风建设学习教育突出问题专项整治工作部署会议上的讲话范文.docx
    医院领导2025年党风廉政建设推进会上的讲话范文.docx
    2025年关于开展“以案促改”工作实施方案供参考.docx
    在2025年安全生产专项整治暨化工行业风险防控部署会上的讲话范文.docx
    领导干部在“十五五”发展规划编制启动会上的讲话文稿.docx
    2025年书记在慰问老干部暨情况通报会上的主持讲话提纲范文.docx
    2025年作风建设实施方案文稿.docx
    在2025年DeepSeek政务应用培训会上的讲话范文.docx
    2025年领导在DeepSeek政务应用培训会上的讲话参考范文.docx
    2025年国企党委关于干部职工思想政治工作情况的报告文稿.docx
    在青年干部培养工作座谈会上的讲话范文.docx
    卖家[上传人]:zhuwuneng
    资质:实名认证
    相关文档
    正为您匹配相似的精品文档