软件工程导论期末复习.docVIP

  • 14
  • 0
  • 约1.57千字
  • 约 4页
  • 2017-02-08 发布于重庆
  • 举报
软件工程导论期末复习

通常把在计算机软件的开发与维护过程中所遇到的一系列严重问题笼统的称为软件危机. 造成原因:软件缺乏“可见性”,较难管理和控制软件开发;软件的规模庞大,无法完全预见可能遇到的情况;工程师忽视软件需求分析的重要性并且轻视软件维护。 如何消除:树立对计算机软件的正确认识;应该由组织良好、管理严密的各类人员团结协作共同完成工程项目;应该积极开发和使用计算机辅助软件工程工具。 软件工程是指导计算机软件开发和维护的一门工程学科,该学科的目的是生产出能按期交付、在预算范围内的、满足用户需求的、质量合格的软件产品。其本质特性包括:软件工程关注与大型程序的构造;中心课题是控制复杂性;软件产品交付使用后仍然需要经常修改;开发软件的效率非常重要; 基本原理:用分阶段的生命周期计划严格管理;坚持进行阶段评审;实行严格的产品控制;采用现代程序设计技术;结果能清楚地审查;开发小组的人员应少而精;承认不断改进软件工程实践的重要性。 传统方法学:也称为生命周期方法学或结构化范型。优点:把软件生命周期划分成若干个阶段,每个阶段的任务相对独立且简单,便于不同人员分工协作,降低了整个软件开发过程的困难程度。缺点:当软件规模庞大时,或者对软件的需求是模糊的时候,开发出的软件往往不成功;而且维护起来仍然困难。? 面向对象方法学:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。(1)把对象作为融合了数据及在数据上操作的软件构建;(2)把所有对象都划分成类;(3)按照父类与子类的关系,把若干个相关类组织成一个层次结构的系统;(4)对象彼此间仅能通过发送消息互相联系。 软件生命周期由软件定义、软件开发和运行维护3个时期组成。 软件定义时期进一步划分为问题定义、可行性研究和需求分析;主要任务是确定软件开发工程的总目标;研究该项目的可行性,分析确定用户对软件的需求;估算完成该项目的所需成本和资源;制定工程进度表。 软件开发时期划分为总体设计、详细设计、编码和单元测试、综合测试;前两个阶段称为系统设计;后两个阶段称为系统实现;运行维护时期主要任务是通过对已交付使用的软件做必要的修改,使软件持久地满足客户需求。 软件过程定义了运用技术方法的顺序、应该交付的文档资料、为保证软件质量和协调软件变化必须采取的管理措施,以及标志完成了相应开发活动的里程碑。 1.瀑布模型:强迫采用规范的技术;严格规定了每个阶段必须提交的文档;容易造成软件产品满足客户需求; 2.快速原型模式:有助于开发人员与用户的沟通,通常能满足用户的真实需求;开发过程是线性顺序过程。 3.增量模型:每个构件由若干个相互协作的模块构成,能在短时间内向客户提交可完成部分工作的产品; 4.螺旋模型:适用于内部开发的大型软件项目,有利于已有软件的重用;有助于把软件质量作为开发的重要目标;减少了测试带来的风险; 5.喷泉模型:充分体现了面向对象软件开发过程迭代和平滑过渡的特性。 6.Rational统一过程:迭代式开发;管理需求;使用基于构件的体系结构、可视化建模;验证软件质量及控制软件变更。为开发过程提供较大的通用性。适用于大型的需求不断变化的复杂软件系统项目。 7.敏捷过程与极限编程:适用于商业竞争环境下对小型项目提出的有限资源和有限开发时间的约束。 8.微软过程:将软件生命周期划分为5个阶段,即规划、设计、开发、稳定、发布阶段,适用于商业环境 下具有有限资源和有限开发时间约束的项目的软件过程模式。 敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。软件能力成熟度集成模型

文档评论(0)

1亿VIP精品文档

相关文档