《敏捷开发基础知识》课件.docx
《《敏捷开发基础知识》课件.docx》由会员分享,可在线阅读,更多相关《《敏捷开发基础知识》课件.docx(16页珍藏版)》请在优知文库上搜索。
1、敏捷开发基础知识软件工程及软件过程模型1.软件需求分析与定义软件需求是一个为解决特定问题而必须由披开发或被修改的软件展示的特性。这个问题可能是使用软件的某人的任务中的一个自动化部分,或是支持委托开发软件的组织的业务流程,或修正当前软件的缺点,或是控制一个设备等。用户、业务流程和设备的功能通常根复杂,因此,特定软件的需求在外延上通常是来自一个组织不同层次的不同人员的需求和来自软件将要在其中运行的环境的需求的复杂组合。所有软件需求的一个基本特性就是可验证性。验证某些软件需求可能很困难或者成本很高。软件需求和软件质保人员都必须保证,在现有的资源约束下,需求可以被验证。除了其表达的行为特性外,需求还有
2、其他特性,如优先级,以便在资源有限时进行权衡。通常,要唯一地标识软件需求,才能在整个软件生命周期中,进行软件配置控制和管理。需求分析涉及分析需求的过程,其目的如下。(1)检测和解决需求之间的冲突。(2)发现软件的边界,以及软件与其环境如何交互。(3)详细描述系统需求,以导出软件需求。描述需求时必须仔细,应该精确到能确认需求,验证需求的实现,估算需求的成本。开发真实世界问题的模型是软件需求分析的关键模型的目的是帮助理解问题,而不是启动方案的设计。因此,概念模型由来自问题域的实体模型组成,实体模型反映了它们在真实世界的联系和依赖。可以开发的模型包括数据和控制流、状态模型、事件追踪、用户交互、对象模
3、型、数据模型,以及其他模型。架构设计是需求过程与软件或系统设计重叠进行的,将二者截然分开是不可能的。其工作是需求分配,即将满足需求的职责分配到组件上。需求协商的另一个普遍使用的术语是解决冲突。这涉及需求冲突的问题,冲突发生在两个不兼容的需求之间,或者发生在需求与资源之间,或者在功能与m期能需求之间。2 .软件设计、测试与维护软件设计软件设计是定义一个系统或组件的架构、组件、接口和其他特征的逆程,并得到这个过程的结果Mo作为过程看待时,软件设计是一种软件生命周期活动,在这个活动中,要分析软件需求,以产生一个软件内部结构的描述,并将其作为软件构造的基础。更精确地说,软件设计必须描述软件架构和这些组
4、件之间的接口,也必须在详细的层次上描述组件,以便能构造这些组件。软件设计在软件开发中起着重要作用,通过它形成要实现的各种不同模型。分析和评价这些模型,以确定它们能否实现各种不同的需求,在各种不同的候选方案中进行权衡,确定最终方案。最后,将其作为构造和测试的输入和起始点,并用来规划后续的开发活动。软件设计由两个处于软件需求和软件构造之间的活动组成。软件架构设计(有时叫做高层设计):描述软件的结构和组织,标识各种不同的组件。软件详细设计:详细地描述各个组件,使之能被构造.软件架构是一个描述软件系统的子系统和组件,以及它们之间相互关系的学科。架构试图定义软件的内部结构。通过视图可以从不同角度描述软件
5、结构,主要包括逻辑视图(满足功能需求过程视图(并发问题组件视图(实现问题部署视图(分布问题模式提供了架构设计的某些方法。模式是给定上下文中普遍问题的普遍解决方案,主要涉及设计模式(微观架构模式)和架构模式(宏观架构软件测试测试是为评价和改进产品质量、识别产品的缺陷和问题而进行的活动。软件测试是针对一个程序的行为,在有限测试用例集合上,动态验证是否达到预期的行为,需要选取适当的测试用例。测试不再只是一种仅在编码阶段完成后才开始的活动。现在的软件测试被认为是一种应该包括在整个开发和维护过程中的活动,它本身是实际产品构造的一个重要部分。测试不仅是检查预防措施是否有效的主要手段,而且是识别由于某种原因
6、预舫措施无效而产生的错误的主要手E殳。需要注意的是,在广泛的测试活动成功完成后,软件可能仍包含错误,交付后出现的软件失效的补救措施是由软件维护达成的。软件测试随开发和维护过程,通常在不同的级别上进行,可以在概念上区分三个大的测试阶段:单元测试、集成测试和系统测试。23.软件维护软件开发工作的结果是交付满足用户需求的软件产品。相应地,软件产品必然存在变更和演化。一旦投入运行,就可能发现缺昭,运行环境可能会变化,用户会提出新的需求。软件维护是坐命周期的一个完整部分。可以将软件维护定义为需要提供软件支持的全部活动。这些活动包括在交付前完成的活动,以及交付后完成的活动。交付前完成的活动包括交付后运行的
7、计划和维护计划等。交付后的活动包括软件修改、培训、帮助资料等。软件维护包括如下类型。Q)更正性维护:软件产品交付后进行的修改,以更正发现的问题。(2)适应性维护:软件产品交付后进行的修改,以保持软件产品能在变化后或变化中的环境中可以继续使用。(3)完善性维护:软件产品交付后进行的修改,以改进性能和司维护性。(4)预防性维护:软件产品交付后进行的修改,以在软件产品中的潜在错误成为实际错误前,检测和更正它们。3 .软件复用软件复用是指利用已有软件的各种有关知识构造新的软件以缩减软件开发和维护的费用。软件复用是提高软件生产力和质量的一种重要技术。早期的软件复用主要是代码级复用,被复用的知识专指程序,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 敏捷开发基础知识 敏捷 开发 基础知识 课件
