欢迎光临 我们的第一篇博客

欢迎来到菜鸟软工的世界

大家好! 这是我们第一次使用CSDN编辑我们的第一篇博客,从这开启我们对软件工程的学习之旅,还请大家多多指教。
小组成员:P同学、J同学

对软件工程新的认识

概念:软件工程是是为了经济地获得可靠地和能在实际机器上高效运行地软件,而建立和使用的健全的工程规则。
软件工程这门课程并不是教不怎么会代码的制作程序,软件工程研究的内容包括两方面:
1、软件开发技术。主要研究软件开发方法、软件开发过程、软件开发工具和环境。
2、软件开发过程管理。主要研究软件工程经济学和软件管理学。

软件工程方法论

在这里插入图片描述

重量级方法呈现的是一种“防御型”的姿态。在应用“重量级方法”的软件组织中,由于软件项目经理不参与或者很少参与程序设计,无法从细节上把握项目进度,因而会对项目产生“恐惧感”,不得不要求程序员不断撰写很多“软件开发文档”。
轻量级方法则呈现“进攻型”的姿态,这一点从XP方法特别强调的四个准则—“沟通、简单、反馈和勇气”上有所体现。目前有一些人认为,“重量级方法”适合于大型的软件团队(数十人以上)使用,而“轻量级方法”适合小型的软件团队(几人、十几人)使用。当然,关于 重量级方法和 轻量级方法的优劣存在很多争论,而各种方法也在不断进化中。

重量级方法强调以开发过程为中心,而不是以人为中心。


统一软件开发过程(RUP,Rational Unified Process)
RUP最重要的它有三大特点:
1)软件开发是一个迭代过程
2)软件开发是由Use Case驱动的
3)软件开发是以架构设计(Architectural Design)为中心的。


极限编程(eXtreme Programming,XP)
XP 是一个轻量级的、灵巧的软件开发方法;同时它也是一个非常严谨和周密的方法。它的基础和价值观是 交流、朴素、反馈和勇气;即,任何一个软件项目都可以从四个方面入手进行改善:加强交流; 从简单做起;寻求反馈;勇于实事求是。XP 是一种近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的小周期;通过积极的交流、反馈以及其它一系列的方法,开发人员和客户可以非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整开发过程。

极限编程和传统方法学的本质不同在于它更强调可适应性而不是可预测性。XP的支持者认为软件需求的不断变化是很自然的现象,是软件项目开发中不可避免的、 也是应该欣然接受的现象;他们相信,和传统的在项目起始阶段定义好所有需求再费尽心思的控制变化的方法相比,有能力在项目周期的任何阶段去适应变化,将是 更加现实更加有效的方法。

开发人员和客户之间的交互是有益的。因此,一个极限编程的小组从理论上要求需要一个软件使用者在身边,这个使用者制定软件的工作需求和优先等级,并且尽可能在各种问题出现的时候马上就能回答(实际工作中,这个角色是由客户代理商完成的).

  • 如果学习是好的,那么就把它做到底:这样减少了开发和回馈周期的长度,测试也能更早完成。
  • 简单的代码更可能工作。所以极限编程的程序设计师在一个软件专案中唯写出能够满足目前实际需求的代码,这样或多或少降低了代码的复杂性和重复性。
  • 如果简单的代码是好的,那么把变得复杂的代码改写成简单的。
  • 代码评审是好的。因此,极限编程的程序设计师以两人搭档的方式工作。他们共享一个屏幕和键盘,增加了队员之间的交流,也让代码在一被写出的时候就被人评审了。
  • 测试代码是好的。因此,在极限编程中,测试用例在实际代码之前就被写出来了。代码只有在通过测试的时候才被认为完成了。(当然,需要进一步分解来降低复杂性)。整个软件系统用一种周期化的,实时的,被预先编好的自动化测试方式来保证它的确有作用。参看测试驱动的开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值