软件开发_Tag标签_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
当前位置:程序员俱乐部 >>Tag标签 >> 软件开发 >>列表
· 敏捷软件开发VS传统软件工程发布时间:2016-10-23
敏捷软件开发:又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新兴软件开发方法,是一种应对快速变化的需求的一种软件开发能力。与传统软件工程相比,它们的具体名称、理念、过程、术语都不尽相同,相对于“非敏捷”,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发中“人”的作用。本文将介绍敏捷软件开发的历史背景与发展... 查看全文
本篇博客分别基于软件开发生命周期和范围管理这两个不同的方面对传统软件开发方法和敏捷软件开发方法进行分析比较,希望与读者分享交流。传统方法:从本质来讲,传统软件开发方法是一个软件开发架构,其开发过程是通过一系列阶段顺序展开的。通常,这一方法不能很好地表达和描述用户的需求,而且在项目整个开发周期的所有阶段都有需要不断完善的文档。敏捷方法:软件行业飞快发展,软件技术不断创新,客户期望迅速变化,考虑到需要克服传统开发方法的缺点,敏捷开发在近十年来兴起,以其灵活性,易操作性得到软件行业的广泛关注... 查看全文
敏捷软件开发与传统软件开发的对比最早了解敏捷开发是通过大二的一次博雅课堂,一位在百度工作的北航学长跟我们分享了他近年来从事敏捷开发的经历。印象最深的一句话是一个延迟3个月交付100%功能的软件和一个按时交付75%核心功能的软件,敏捷软件开发者更愿意选择后者。本学期的软件工程基础课又向我们讲授了传统软件开发,经过课上和课后的学习,对于敏捷软件开发和传统软件开发有了浅显的认识和理解。由于课上学习的重点是传统软件开发,所以课下对敏捷软件开发进行了更多的涉猎,本文以敏捷软件开发为主体... 查看全文
9月份的时候,一款名叫DXXD的勒索软件感染了不少服务器、并加密了设备上的文件。这款勒索软件没什么特别的地方,只是受感染的系统中的每一个文件,都会被加上“.dxxd”的后缀(扩展名)。为了解救受害者,安全研究人员MichaelGillespie在分析后发布了一款解密软件。没想到的是,勒索软件开发者很快留意到了他的举动,并且修改了程序算法,让文件变得无法被解密。举例说,在被勒索软件DXXD感染后,“hyacinth.jpg&rdquo... 查看全文
敏捷软件开发与传统软件工程概述比较翁松秀北京航空航天大学计算机学院摘要:软件工程的开发过程中有两种截然不同的管理和开发体系,一种是基于“瀑布模型”的预设性传统软件工程,另一种是轻量级的适应性敏捷软件开发,本文简单阐述传统软件工程的开发方法与敏捷软件开发的异同,并通过“瀑布模型”和SCRUM方法的比较来探析传统软件工程与敏捷软件开发的异同。最后得出结论,把传统软件工程和敏捷软件开发相结合,将软件架构“颗粒化”... 查看全文
英文原文:OutsourcingSoftwareDevelopmenttoaGlobalTalentPool:WorldofHelporWorldofHurt?谈到外包软件开发时大家似乎有无数的目标国家可以选择:印度、中国、马来西亚、印尼、泰国、墨西哥、菲律宾、巴西、保加利亚、埃及……等等。那到底外包到哪里才是个正确选择?将软件开发外包出去都是为了解决一些问题,缺少专家、人力不足、削减开支等。在这些情况下外包是个正确选择,它可以帮助减少支出、提高生产率和缩短上线时间... 查看全文
Source英文原文:BeingADeveloperAfter40经EvanLin翻译后,INSIDE获同意转载。EvanLin目前是LinkerNetworks的CloudArchitect,也是Golang台湾社群的co-organizer。查看ppt:https://speakerdeck.com/player/76fd6952b6fc4f0b9ad75153f065c7e2#导读... 查看全文
软件实体(类、模块、函数等)应该是可以扩展的,但是不可修改的。如果程序中的一处改动就会产生连锁反应,导致一系列相关模块的改动,那么设计就具有僵化性的臭味。OCP建议我们应该对系统进行重构,这样以后对系统再进行这样那样的改动时,就不会导致更多的修改。如果正确地应用OCP,那么以后再进行同样的改动时,就只需要添加新的代码,而不必改动已经正常运行的代码。OCP概述遵循开放-封闭原则设计出的模块具有两个主要的特征。它们是:对于扩展是开放的(openforextension)... 查看全文
Atitit.软件开发的三层结构isv金字塔模型第一层,Implements层,着重与功能的实现。。第二次,spec层,理论层,设计规范,接口,等。流程、方法论顶层,val层,价值观层,原则,法则,定律等。这一建构应从界定内涵出发,从器物、制度和意识形式三个层面厘定其表征;并结合发展轨迹,通过比较,探索、建构有利于“本土”文化,必须着力追寻能推动这一文化特质生成的进路,并以发挥其实践功效为归宿点和落脚点。作者::★(attilax)>>>绰号... 查看全文
SRP:单一职责原则一个类应该只有一个发生变化的原因。为何把两个职责分离到单独的类中很重要呢?因为每一个职责都有变化的一个轴线。当需求变化时,该变化会反映为类的职责的变化。如果一个类承担了多于一个的职责,那么引起它变化的原因就会有多个。如果一个类承担的职责过多,就等于把这些职责耦合在了一起。一个职责发生变化可能会削弱或抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。有两个不同的应用程序使用Rectangle类。一个应用程序是有关计算几何学方面的... 查看全文
· 敏捷软件开发发布时间:2016-08-28
测试驱动开发简单的3条测试规则:除非已经编写了一个不能通过的单元测试,否则不编写任何产品代码;只要编写能够正好导致测试不通过或者编译失败的单元测试就够了,无需更多;只要编写能够正好使失败的单元测试通过的产品代码就够了,无需更多。第一个也是最明显的一个效果,是程序中的每一项功能都有测试来验证它的操作的正确性。这个测试套件可以给以后的开发提供支援。无论何时我们因疏忽而破坏了某些已有的功能,它就会告诉我们。我们可以向程序中增加功能,或者更改程序结构,而不用担心在这个过程中会破坏重要的东西... 查看全文
甲骨文公司(Oracle)宣布以93亿美元的资金收购以云端为主的ERP(企业资源规划)供应商Netsuite,每股价格约为109美元。甲骨文公司的联合首席执行官MarkHurd表示,NetSuite和甲骨文公司在云端应用上可以互为补充,甲骨文公司计划对产品的设计和分销领域投入大量资金。自90年代以来,甲骨文和NetSuite就结上了不解之缘,当时NetSuite的首席执行官ZachNelson还在甲骨文公司担任首席市场官的职位。此外... 查看全文
开发软件是一个非常情绪化的工作,团队中的每一个人都希望这个软件可以获得成功,而有的时候这种情绪会在团队中制造紧张气氛。软件团队中流行着这样一句话:“你必须要挑选你自己的战斗。”那么问题来了,如何做这样的决定?你要跟谁干仗?胜利和失败团队在协作的时候,他们其实也在时刻彼此“斗争”中。在我看来,所谓的“胜利”只有一种情况:就是你成功说服另外一方,让他们接受你的想法,认同你的想法,让他们相信你的想法能让软件变得更好。但是... 查看全文
英文原文:5problemssoftwaredevcompanieshavetosolve—ordietrying软件开发的市场竞争不断升级,无数的软件公司倒下,又有更多年轻的初创公司崛起。本文笔者走访了大量公司,试图从中总结成功的软件公司所需要把握的原则是什么。当越来越多的创始人讲述他们的故事,笔者发现以下这6个问题是每一个软件公司想要突出重围就必须回答的!本文作者是波兰B2B初创公司RightHello的创始人兼CEO:PiotrZaniewicz... 查看全文
· Linux是最大的软件开发项目发布时间:2016-05-14
Linux内核开发者和维护者GregKroah-Hartmant在柏林举行的CoreOSFest上发表演讲,描述了Linux内核项目的庞大规模。Kroah-Hartman称,最新版的Linux4.5内核包含了超过2100万行代码,其中核心代码占5%,网络相关的代码占35%,驱动超过40%。设备供应商可以根据自己的需要选择使用内核代码,他表示自己的笔记本电脑运行的内核只有160万行代码,而你的手机内核可能只有240万代码。Kroah-Hartman说,最令人影响的地方不是代码行数而是参与的人数... 查看全文
在软件项目开发过程中,很多朋友经常咨询我如何选择各个工具的配合使用。在此我整理了一下,在我平时项目的开发中我是如何选择各个工具的,当然如果你是系统架构师或者是高级工程师的话可以忽略此篇文档,此篇文档仅仅使用一些新手借鉴,主要介绍.net平台下项目的开发,不足之处还请各位前辈多多指教。首先,公司接到项目后,一般都是由资深工程师与项目经理与若干人员确定项目可行性,然后完成系统的需求分析,这个过程极为重要,它初步确定了系统的基本需求,与后续的工作开展密切相关。这时候便可以介绍第一个工具了----... 查看全文
今天突然想到两个有意思的问题:程序与软件有区别吗?编程与软件开发有何区别?这两个问题也是我在大学时期一直思考的两个问题。作者在学校期间阅读了许多的专业书籍,比如《Java语言程序设计》、《C语言程序设计》、《软件工程》、《设计模式:可复用面向对象软件的基础》以及许多《21天精通XXX程序设计》系列书籍,也写了许多的小程序,但有一些问题作者始终没有完全弄清楚。比如:1.真的可以在21天之内精通某一门程序设计语言吗?2.什么是面向对象?3.Java语言为什么要提供接口... 查看全文
· 软件开发的一些概念发布时间:2016-05-12
10.关系数据库(RelationalDatabases)关系数据库因为在大规模Web服务上缺乏可扩充性而颇受微词,然而,关系数据库仍然是近20年来计算机技术中最伟大的成就。关系数据库对处理订单,公司数据方面有着出色的表现。关系数据库的核心是以记录表示数据,记录存放在数据库表,数据库使用查询语言(SQL)对数据进行搜索与查询,同时,数据库对各个数据表进行关联。数据库的标准化技术(normalization)讲的是使用正确的方式对数据进行分存以降低冗余,并加快存取速度。9.安全(Security... 查看全文
英文原文:SoftwareDevelopmentTooling:Information,Opinion,Guidelines,andTools这篇文章最早刊登在IEEESoftware杂志中。IEEESoftware对当前具有战略性的技术问题提供了可靠的、专家评审过的信息。包括运行的可靠性、企业的灵活性、IT经理人和技术领导者所依赖的国家级最先进的IT解决方案。该专栏记录了近10年间在IEEESoftware出现过的贸易部门的工具。至于接下来的期刊中,将出现在最接近杂志头版的位置... 查看全文
· 软件开发模式发布时间:2015-05-12
学习目标:了解软件开发模式、能根据具体项目定制一套合适的软件开发模式、创造软件开发模式学习目的:提高项目可控性、降低项目开发成本因为还木有时间整理软件开发模式,先引用一下吧:http://www.cnblogs.com/liang--liang/p/3613815.html以下为<软件开发模式>基本会涉及的流程。脑图下载地址:http://www.xmind.net/m/RWsg/注:每个基本流程的可选使用方法有很多,没有一一整理列出来,只是列了部分比较常用的(后续会整理)... 查看全文