欢迎来到天天文库
浏览记录
ID:42878458
大小:75.50 KB
页数:7页
时间:2019-09-23
《软件过程管理大作业》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、上海第二工业大学课程作业报告报告名称:如何加强软件过程管理,提高个体软件过程能力,做一个合格的软件工程师?课程名称:《个体软件过程》专业:软件工程班级:12软工A2姓名:张云龙学号:20143430134指导老师:谭文安等分:2014-12-21如何加强软件过程管理,提高个体软件过程能力,做一个合格的软件工程师?摘要:在当今互联网蓬勃发展的时代,软件企业面临着巨大的挑战。顾客需求憐息万变、全球性竞争环境和技术创新不断加速等,导致产品生命周期不断缩短,商业模式不稳定,软件过程管理必须适应这种变化。CMM(能力
2、成熟度模型)没有几年前那么火热而开始受到冷落,敏捷开发过程管理越来越受到推崇,而在敏捷开发中最引人关注的就是极限编程。关键字:CMM,敏捷过程,软件过程管理,极限编程1.前言近10年来,软件过程越来越成为人们关注的焦点,她正在打破过去人们已经习惯的面向任务的思维模式,逐渐加强面向过程的思考,软件开发和维护的运作以过程为中心的方式止在进行。止如软件工程领域领袖级人物、能力成熟度模型奠基人WattsHumphrey所说,耍解决软件危机,首要任务是把软件活动是做可控的、可度量的和可改进的过程。而敏捷开发以用户的需
3、求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,貝备可视、可集成和可运行使用的特征。换言Z,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程屮软件一直处于可使用状态。因此,敏捷开发是一种比较好的软件过程管理的好的方法。2.使用敏捷开发思想,采用极限编程的模式皱捷开发的价值观包括了XP(ExtremeProgramming:极限编程)的四个价值观:沟通、简单、反馈、勇气,此外,述扩展了第五个价值观
4、:谦逊。敏捷开发是针对传统的瀑布开发模式的弊端而产生的一种新的开发模式,目标是提高开发效率和响应能力。除了原则和实践,模式也是很重要的,多研究模式及具应用可以使你更深层次的理解敏捷开发。皱捷开发的核心原则是:(1)主张简单(2)拥抱变化(3)第二个目标是可持续的(4)递增的变化(5)令Stakeholder投资最大化(6)冇目的的建模(7)多种模型(8)高质量的工作(9)快速反馈(10)软件是你的主要目标(11)轻装刖进宣言原则:最重要的是通过尽早和不断交付有价值的软件满足客户需要。我们欢迎需求的变化,即使
5、在开发后期。敏捷过程能够驾驭变化,保持客户的竞争优势。经常交付可以工作的软件,从几星期到几个月,吋间尺度越短越好。业务人员和开发者应该在整个项目过程中始终朝夕在一起工作。围绕斗志高昂的人进行软件开发,给开发者提供适宜的环境,满足他们的需要,并相信他们能够完成任务。在开发小组中最有效率也最有效果的信息传达方式是面对面的交谈。可以工作的软件是进度的主要度量标准。敏捷过程捉倡可持续开发。出资人、开发人员和用户应该总是维持不变的节奏。对卓越技术与良好设计的不断追求将有助于提高敏捷性。简单——尽可能减少工作量的艺术至
6、关重要。最好的架构、需求和设计都源自自我组织的团队。每隔一定时间,团队都要总结如何更冇效率,然后相应地调整自己的行为皱捷开发采取了以卜•面向对象的设计原则來加以避免,这些原则如2单一职责原则(SRP)就一个类而言,应该仅有一个引起它变化的原因。开放•封闭原则(OCP)软件实体应该是可以扩展的,但是不可修改。Liskov替换原则(LSP)子类型必须能够替换掉它们的基类型。依赖倒置原则(DIP)抽象不应该依赖于细节。细节应该依赖于抽象。接口隔离原则(ISP)不应该强迫客户依赖于它们不用的方法。接口属于客户,不属
7、于它所在的类层次结构。重用发布等价原则(REP)重用的粒度就是发布的粒度。共同封闭原则(CCP)包中的所有类对于同一类性质的变化应该是共同封闭的。一个变化若对一个包产生彩响,则将对该包屮的所冇类产生彩响,而对于其他的包不造成任何影响。共同重用原则(CRP)一个包屮的所有类应该是共同重用的。如果重用了包屮的一个类,那么就要重用包中的所有类。无环依赖原则(ADP)在包的依赖关系图屮不允许存在环。稳定依赖原则(SDP)朝着稳定的方向进行依赖。稳定抽象原则(SAP)包的抽象程度应该和其稳定程度一致。敏捷开发的方法冇
8、极限编程,Scrum,精益开发,动态系统开发方法等。而在所有敏捷开发方法中,极限编程是敏捷开发方法中一种最引人注目的软件开发方法,它适应于需求快速变动背景下的屮小型规模的开发团队。他是-•种全新的、生机勃勃的软件开发方式。极限编程的出众之处在于兼顾了质量的两个方面(满足客户期望的同时,降低缺陷的数量),颠覆了复杂性不断增加的循环。极限编程是一种轻量级的开发方法,适用于需求快速变动背景下的屮小规模的开发集体,它建立
此文档下载收益归作者所有