
软件工程
文章平均质量分 73
童年的天空
管理?产品?技术?运营?项目?不求面面精通,但求左右逢源。
展开
-
svn merge和branch
使用svn几年了,一直对分支和合并敬而远之,一来是因为分支的管理不该我操心,二来即使涉及到分支的管理,也不敢贸然使用合并功能,生怕合并出了问题对团队造成不良影响,最主要的原因是,自己对分支的目的和合并的方法不甚了解,这才是硬伤。最近由于适配机型的需要(本人从事手机客户端的开发),需要经常接触分支和合并两项工作,突然发现这玩意整不明白很难开展工作,遂这两天着重研究了一下,有点收获,怕转载 2013-11-18 18:47:03 · 1364 阅读 · 0 评论 -
软件项目质量管理
在实际的项目质量管理中,质量管理总是围绕着质量保证(QualityAssurance)过程和质量控制(QualityControl)过程两方面。这两个过程相互作用,在实际应用中还可能会发生交叉。正如引言所述,关于软件的质量,很难下一个非常明确的定义。本文主要针对软件工程中的质量管理来进行讨论。做软件“大餐”的工序软件质量保证(SoftwareQualityAssurance,以下简称SQA)的目转载 2008-11-12 19:47:00 · 1335 阅读 · 0 评论 -
软件项目质量管理经验谈
摘要:本文详细阐述了作者对软件项目质量管理的认识,是作者实际经验的总结。主要内容包括对软件项目质量管理理论的认识、软件项目质量管理在实践中的具体做法。文章详细介绍了有关质量计划编制、质量控制、质量保证的有关理论;文章也描述了进行质量管理责任分配、质量管理实施的具体方法。 关键词:质量计划,质量控制,质量保证,质量管理,过程管理,软件度量第一章 引言许多IT项目开发的系统应用在生死转载 2008-11-12 19:58:00 · 1608 阅读 · 0 评论 -
软件开发质量管理层次模型
摘要:本文对软件开发质量管理的层次进行了初步的划分,形成了软件开发质量管理层次模型,并对模型中的各个层次内涵做了简要说明。关键字:质量管理、软件开发、层次。正文:概述质量:一组固有特性满足要求的程度,指产品或服务满足规定或潜在需要的特征和特性的总和。它既包括有形产品也包括无形产品;既包括产品内在的特性、也包括产品外在的特性。即包括了产品的适用性和符合性的全部内涵。软件转载 2008-11-12 19:57:00 · 2115 阅读 · 0 评论 -
大型软件开发过程的质量管理体系
一、软件产品质量的特点 按照ISO 9126的定义,软件的质量通常可以从以下六个方面去衡量(定义) ·功用性(Functionality),即软件是否满足了客户功能要求; ·可靠性(Reliability),即软件是否能够-直在-个稳定的状态上满足可用性; ·可用性(Usability),即衡量用户能够使用软件需要多大的努力; ·效率(Efficiency),即衡量软转载 2008-11-12 19:43:00 · 2985 阅读 · 0 评论 -
需求管理(Demand Management)
什么是需求管理 需求管理是一种用于查找、记录、组织和跟踪系统需求变更的系统化方法。需求管理是认识和管理对产品的全部需求,并确保主生产计划反映这些需求的功能。需求管理包括:预测、订单录入、订单承诺、分库需求、非独立需求、厂际订单及维修件需求等。有效需求管理的关键在于维护需求的明确阐述、每种需求类型所适用的属性,以及与其他需求和其他项目工件之间的可追踪性。 需求管理的难点 1原创 2008-11-10 21:49:00 · 1745 阅读 · 0 评论 -
IT管理(IT management)
什么是IT管理 IT管理是企业IT部门在IT系统运营阶段中在管理方面采用的方法论、手段、技术、制度、流程、文档的统称。 IT管理的内容 根据IT系统运营阶段的特点,IT管理可以划分为三大部分: 一、运行/维护 该部分是IT管理的核心和重点部分,也是内容最多、最繁杂的部分,该阶段主要用于IT部门内部日常运营管理,涉及的对象分成两大部分,即IT业务系统和原创 2008-11-10 22:08:00 · 1358 阅读 · 0 评论 -
软件工程
软件工程(Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。 在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。同时,各个行业几乎都有计算机软件原创 2008-11-10 21:50:00 · 1408 阅读 · 0 评论 -
需求管理
需求管理(Requirement management)是完整管理模式中的一环,同其他特性诸如完整性、一致性等不可分割,彼此相关而成一体。一套需求管理应当是已知系统需求的完整体现,每部分解决方案都是对总体需求一定比例的满足(甚至是充分满足),仅仅解决部分需求是没有意义的。对关键需求的疏忽很可能是灾难性的,试想一架飞机的安全设计不过关将会带来什么样的后果。不同的需求组合起来,构成原创 2008-11-10 21:45:00 · 2326 阅读 · 0 评论 -
软件配置管理
软件配置管理(Software Configuration Management,SCM)是一种标识、组织和控制修改的技术。软件配置管理应用于整个软件工程过程。我们知道,在软件建立时变更是不可避免的,而变更加剧了项目中软件开发者之间的混乱。SCM活动的目标就是为了标识变更、控制变更、确保变更正确实现并向其他有关人员报告变更。从某种角度讲,SCM是一种标识、组织和控制修改的技术,目的是使原创 2008-11-10 21:31:00 · 1343 阅读 · 0 评论 -
软件工程(Software Engineering,SE)
什么是软件工程 软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。 在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用原创 2008-11-10 21:55:00 · 1290 阅读 · 0 评论 -
Hudson+Maven+SVN 搭建持续集成环境
hudson 是一个可扩展的持续集成引擎,Hudson非常易于安装和配置,简单易用,下面看看我们是如何几分钟就快速搭建一个持续集成环境吧。假设我们目前已经有2个maven项目:entities(JAVA类库),web(web应用,依赖entities)。一、安装hudson: 下载http://hudson-ci.org/latest/hudson.war ,把下载的war包转载 2009-11-18 23:25:00 · 1621 阅读 · 0 评论 -
CSA: 软件的架构与设计模式之什么是架构
软件的架构与设计模式之什么是架构转载 2010-09-20 00:42:00 · 1737 阅读 · 0 评论 -
沟通技巧(节选自微软IE推广)
沟通技巧说服一个人从来都不是件容易的事,除了要准备好说服他的材料,你还需要一些沟通技巧。1. 换位思考试想你走进会议室和老板坐下来探讨你的HTML5项目,如果你从一开始就立场坚定地劝说他接受自己的观点,你会被拒绝,因为会让他感觉你是在咄咄逼人,而不是在商量。但如果你换位思考,试着理解他的想法并做出回应,你将会获得对方更加合作的态度。1) 从倾听开始心理学家Rober原创 2013-01-20 11:24:26 · 1021 阅读 · 0 评论 -
系统设计时关于性能问题处理的几点心得
【将复杂的运算分解到其它过程】此种思想将整个系统的操作看成一个整体,类似于负载均衡。在系统中常见的一个问题是,数据量比较大,对数据的查询统计变得很复杂很缓慢。对于这种问题应该在设计时就进行考虑,建立表的冗余字段或者汇总表存储一些汇总信息,在录入或更新数据时计算冗余字段或汇总表的值。这样将复杂的运算时间分解到了数据录入修改的时间。而一般的录入/修改都是单笔的操作,此时的一点点延时(可能很少很少)原创 2012-08-21 07:46:35 · 2603 阅读 · 0 评论 -
利用适配器思想减少应用间耦合扩散问题
adaptor和adapter都是适配器的意思,adapter是正词(adaptor是英式用法,是变异),因此对下面的内容都修正为adapter随着系统的交互越来越多,通过接口相互调用是难免的。近来分析几个程序发现一个不好的代码编写方式,使得系统间的耦合越来越高,其最主要的表现就是耦合扩散问题。随着产品的不断发展,当需要使用新模块替代旧模块时,这种扩散的耦合,不但使本系统变得复杂而且使原创 2012-05-27 11:28:17 · 1938 阅读 · 2 评论 -
策略枚举模式
先看看策略模式:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。(原文:The Strategy Pattern defines a family of algorithms,encapsulates each one,and makes them interchangeable. Strategy lets the alg原创 2012-07-23 08:50:34 · 2853 阅读 · 0 评论 -
软件实现过程中可交付的产品、评审、审计和基线
转自:http://blog.sina.com.cn/s/blog_6a656bb40102dt73.html转载 2012-05-03 16:46:58 · 1465 阅读 · 0 评论 -
CMMI 3级18个过程域
CMMI3级过程域一共有18个PA,分别是:【过程管理】1. OPD-Organizational Process Definition: 组织级过程定义,建立和维护有用的组织过程资产;2. OPF-Organizational Process Focus: 组织级过程焦点,在理解现有过程强项和弱项的基础上计划和实施组织过程改善;3. OT-Organizational Train原创 2011-12-30 11:11:18 · 20651 阅读 · 1 评论 -
如何基于PDCA思想进行发展型产品管理
如何基于PDCA思想进行发展型产品管理转载 2011-03-22 23:30:00 · 1788 阅读 · 0 评论 -
逐步改善,设计优秀API
逐步改善,设计优秀API转载 2011-03-03 12:39:00 · 1064 阅读 · 0 评论 -
CMMI分为类
CMMI分为类原创 2011-01-20 21:15:00 · 1338 阅读 · 0 评论 -
Ant/Junit: 利用Ant执行测试用例并生成测试报告
ant junit report原创 2010-09-05 20:27:00 · 3296 阅读 · 0 评论 -
软件生命周期
软件生命周期(SDLC,软件生存周期)是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。但随着新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步转载 2008-10-30 08:38:00 · 881 阅读 · 0 评论 -
整合项目的难:业务理解的不一致、系统设计的不一致和协调
整合项目难做,做过的人都是很容易知道的,这也是为什么整合项目通常要规划很久、实施很久,而且还要花费很大的财力的原因,在之前的blog中曾经写过整合项目难做的一些地方,像数据分析、客户的不够理解等。随着对于整合项目实施的逐步深入,碰到的难点在逐步的增多,目前手头的一个整合项目接近完成了,对于这种类型而言的整合项目中的难点估计该出现的都已经出现了,总结下来除了数据分析这个大难点之外,还有的难转载 2008-10-13 19:09:00 · 1182 阅读 · 0 评论 -
IT知识体系结构图
用Excel描述的IT知识结构。黄色为Level1的内容,绿色为Level2的内容,暗红色为Level3的内容,体系知识的层次关系。知识按软件生命周期各阶段进行了划分,各生命周期相关阶段知识存在重叠。用MindManager画的思维导图:转载 2008-10-27 18:18:00 · 3336 阅读 · 0 评论 -
SVN完全备份,增量备份,库同步
1, 完全备份最常见和简单的备份就是直接使用拷贝命令,将版本库目录拷贝到备份目录上,就可以了。但是这样不是很安全的方式,因为如果在拷贝时版本库发生变化,将会造成备份的结果不够准确,失去备份的作用,为此Subversion提供了“svnadmin hotcopy”命令,可以防止这种问题。还记得我们的版本库目录吗?D:/SVNROOT├─project1│ ├─conf│ ├─da原创 2008-09-18 20:11:00 · 1058 阅读 · 0 评论 -
框架不是框框—应用框架的基本思想
软件构件化是21世纪软件工业发展的大势趋。工业化的软件复用已经从通用类库进化到了面向领域的应用框架。Gartner Group认为:“到2003年,至少70%的新应用将主要建立在如软件构件和应用框架这类‘构造块’之上;应用开发的未来就在于提供一开放体系结构,以方便构件的选择、组装和集成”。框架的重用已成为软件生产中最有效的重用方式之一。然而—— 一、构件与框架有何关系? 1. 什么转载 2008-08-05 17:03:00 · 854 阅读 · 0 评论 -
软件设计文档----概要设计说明书
概要设计说明书黎宇 (转载自国家计算机标准和文件模板) 2002年05月31日 1 引言 1.1编写目的 说明编写这份概要设计说明书的目的,指出预期的读者。1.2背景 说明: a.待开发软件系统的名称; b.列出此项目的任务提出者、开发者、用户以及将运行该软件的计算站(中心)。1.3定义 列出本文件中用到的专转载 2008-08-05 16:22:00 · 2265 阅读 · 0 评论 -
软件开发设计规范书的撰写
整个软件开发过程是一个相当复杂的流程,并不是简单的靠几个设计工程师自己在那边写软件就完,而是要有从头到尾,包括很多人,不同专家,不同的专业,不同的知识放在一起,最后才造成一个完善的软件产品。从决定开始,到计划、设计,最后到写程序、执行,然后还有测试、纠错、保证稳定、发行、部署、调试,整个过程是一个相当长的过程,并不是一个简单的程序。要为了保证软转载 2008-08-05 16:30:00 · 3648 阅读 · 0 评论 -
工程开发系列文档——详细设计说明书
详细设计说明书 黎宇 (转载自国家计算机标准和文件模板)1 引言 1.1编写目的 说明编写这份详细设计说明书的目的,指出预期的读者。1.2背景 说明: a.待开发软件系统的名称; b.本项目的任务提出者、开发者、用户和运行该程序系统的计算中心。 1.3定义 列出本文件中用到专门术语的定义和外文首字母组词的原词组。1.4参考资料转载 2008-08-05 16:16:00 · 953 阅读 · 0 评论 -
软件版本
各种软件都有自己的版本,不同的版本符号您知道代表什么吗?1.Alpha版(内部测试版):一般只在软件开发公司内部运行,不对外公开。主要是开发者自己对产品进行测试,检查产品是否存在缺陷、错误,验证产品功能与说明书、用户手册是否一致。2.Beta版(外部测试版):软件开发公司为对外宣传,将非正式产品免费发送给具有典型性的用户,让用户测试该软件的不足之处及存在问题,以便在正式发行前进一步改进和完善 。原创 2008-08-03 15:47:00 · 1053 阅读 · 0 评论 -
互联网产品设计文档类型:BRD、MRD、PRD和FSD
BRD:Business Requirements Document,商业需求文档。这是产品声明周期中最早的问的文档,再早就应该是脑中的构思了,其内容涉及市场分析,销售策略,盈利预测等,通常是和老大们过的ppt,所以也就比较短小精炼,没有产品细节。MRD:Market Requirements Document,市场需求文档。获得老大的认同后,产品进入实施,需要先原创 2008-07-25 16:39:00 · 1588 阅读 · 0 评论 -
软件项目需求说明的特征
软件需求说明作为产品需求的最终成果必须具有综合性:必须包括所有的需求。开发者和客户不能作任何假设。如果任何所期望的功能或非功能需求未写入软件需求规格说明那么它将不能作为协议的一部分并且不能在产品中出现。 1. 完整性每一项需求都必须将所要实现的功能描述清楚,以使开发人员获得设计和实现这些功能所需的所有必要信息。2. 正确性每一项需求都必须准确地陈述其要开发的功能。做出正确判断的转载 2008-07-22 08:24:00 · 1186 阅读 · 0 评论 -
软件需求说明书标准格式
软件需求说明书的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解, 使之成为整个开发工作的基础。编制软件需求说明书的内容要求如下: 1 引言 1.1编写目的 说明编写这份软件需求说明书的目的,指出预期的读者。 1.2背景转载 2008-07-22 08:45:00 · 2256 阅读 · 0 评论 -
软件开发方法综述
国外大的软件公司和机构一直在研究软件开发方法这个概念性的东西,而且也提出了很多实际的开发方法,比如:生命周期法、原型化方法、面向对象方法等等。下面介绍几种流行的开发方法:1、结构化方法结构化开发方法是由E.Yourdon 和 L.L.Constantine 提出的,即所谓的SASD 方 法, 也可称为面向功能的软件开发方法或面向数据流的软件开发方法。Yourdon方法是80年代 使用最广泛的软件转载 2008-10-27 18:20:00 · 1202 阅读 · 0 评论 -
动态产生的持久模型和数据存储的设计模式
动态产生的持久模型和数据存储,这个词语感觉挺晦涩的,不过估计在实际的项目中或者研发的产品中大家都碰到过这样的场景:例如在一个简单的考试系统中,出题人在系统中出题,答题人进行相应的答题。问题:这一个简单的场景映射到系统中通常会形成这样的问题,出题人所出的题目其实就映射到了一个题目的持久模型,而答题人进行答题时则是基于这个动态产生的持久模型进行的数据存储,这里的问题就是怎么去产生这个动态的持久模型,转载 2008-10-13 18:55:00 · 965 阅读 · 0 评论 -
从LiveJournal后台发展看大规模网站性能优化方法
因近期打算对公司应用架构进行调整, 其中的一些思路值得借鉴.以下为转载内容:一、LiveJournal发展历程LiveJournal是99年始于校园中的项目,几个人出于爱好做了这样一个应用,以实现以下功能:博客,论坛社会性网络,找到朋友聚合,把朋友的文章聚合在一起LiveJournal采用了大量的开源软件,甚至它本身也是一个开源软件。在上线后,LiveJournal实现了原创 2008-10-13 18:51:00 · 851 阅读 · 0 评论 -
缓存漫谈
缓存是在提升系统响应时常用的一种技术,在我之前的blog中也提及过好几次这部分的技术,今天还是想从缓存涉及的一些方面再次的去谈谈,在系统缓存上通常采用的是有页面缓存、处理缓存和数据缓存这三种具体的类别,应该说这三种缓存在实现上还是稍有不同,尽管底层的缓存实现是一样的。页面缓存页面缓存是指对页面中的内容片断进行缓存的方案。比如页面中有一个部分是显示栏目中的内容的,那么就可以缓存这个部分,在原创 2008-10-13 18:58:00 · 877 阅读 · 0 评论 -
递归处理斐波那契数时的低效率
某些递归解法的效率如此之低下,以致于必须避免。 例:斐波那契数(Fibonacci) 早在13世纪,数学家莱昂纳多斐波那契(Leonardo Fibonacci)就提出了一个用以模拟一对兔子后代数目的整数序列,这些后来称为斐波那契序列(Fibonacci sequence)的数名人惊讶的出现在许多应用中。 序列为:1,1,2,3,5,8,13.... 公式为:原创 2008-10-26 14:20:00 · 1417 阅读 · 0 评论