软件生命周期
指软件产品从计划到软件交付使用,直到最终退出为止的过程。包括计划阶段、分析阶段、实现阶段、测试阶段和运行维护阶段。
软件开发模型
瀑布模型、螺旋模型、喷泉模型、原型化模型、演化模型
瀑布模型:严格遵循软件生命周期各阶段的固定顺序,一个阶段完成再进入另一阶段,适用于结构化开发方法。
瀑布模型:软件计划、需求分析、软件设计、程序编码、软件测试、运行维护
定义阶段 开发阶段 维护阶段
瀑布模型的优点:
1、为项目提供按阶段划分的检查点。
2、当前阶段完成后,只需关注后续阶段
3、可在迭代模型中应用瀑布模型
4、适用于大规模系统项目
缺点:
1、各阶段划分完全固定,阶段之间产生大量文档,增加了工作量。
2、用户直到工程末期才能见到开发成果,增加了开发风险。
3、不适应用户需求变化。
原型化模型:开发人员对用户提出问题进行总结,就主要需求达成一致意见,开发一个原型并运行,然后对原型进行反复修改,使之完善。衡量原型化模型开发人员能力标准是快速获取需求能力
优点:用户需求清楚,降低开发风险与成本,用户参与决策,减少项目管理,要求完整的生命周期
缺点:不适用大型系统,系统难于维护。
演化模型:根据用户需求,快速分析构造该软件的一个初始版本,称之为原型,根据用户在使用原型过程中提出的建议改进原型,获得原型的新版本,重复这一过程,使用户最终获得满意的软件产品。
螺旋模型:将瀑布模型和原型模型结合,强调了其它模型所忽略的风险分析,适合大型复杂系统
优点:支持用户需求的动态变化,降低风险。
缺点:增加开发成本
喷泉模型:主要用于描述面向对象的开发过程,核心的特点是迭代。所有开发活动没有明显边界,允许各种开发活动交叉进行。
软件开发方法
结构化方法:用系统工程的思想和工程化的方法,按用户至上的原则,结构化、模块化、自顶向下的对系统进行分析和设计的方法。结构化开发方法是面向数据流的开发方法。
优点:从系统整体出发,强调整体优化的条件下,自上而下的分析和设计;遵循用户至上原则;严格区分系统开发的阶段性;每个阶段的成果作为下一阶段的依据,便于系统开发的管理与控制;文档规范化,按照工程标准建立规范化的文档资料。
缺点:开发周期长,难于适应环境变化;
数据流图:用于描述数据流从输入到输出的变化流程,由加工、数据流、文件和外部实体构成。
概要设计:主要设计软件的结构、确定系统由那些模块组成,以及每个模块之间关系。
详细设计:确定应该如何实现具体所要求的系统,得出对目标系统的精确描述。
面向对象的方法:从客观事物中构造软件系统,运用了对象、类、继承、封装、聚合、消息传递和多态等概念描述软件系统。
面向对象的软件开发方法有:Booch方法、coad方法,jocobson方法,对象建模技术OTM等
注:Jackson是面向数据结构的开发方法。
统一建模语言UML是面向对象软件的标准化建模语言。它的词汇表中包含了3种构造块
即事物、关系和图:
事物是对模型中最具代表性的成分的抽象
关系把事物结合在一起,包括依赖、关联、泛化和实现。泛化关系是一种一般/特殊关系,利用这种关系子类可以共享父类的结构与行为。
图聚集了相关事务,包括类图、对象图用例图等。
需求分析
任务:确定软件系统的功能需求;分析软件系统的数据要求;导出系统逻辑模型;修正项目开发计划。
工作:需求获取;需求分析与综合;编写需求规格说明书;需求评审。
需求分类:功能需求;非功能需求;设计约束。
需求工具:数据流图DFD、数据字典、判定表、判定树
软件设计:
模块设计原则:高内聚,低耦合
软件测试:
目的:尽可能多的发现软件产品的错误和缺陷。
测试方法:
白盒测试:需要了解程序内部结构,测试用例是根据程序内部逻辑来设计。白盒测试用于软件的单元测试。
黑盒测试:对软件已经实现的功能是否满足需求进行测试和验证。黑盒测试不关心内部逻辑结构,只根据程序的功能说明来设计测试用例。黑盒测试用于软件的功能测试。
灰盒测试:关注输出对于输入的正确性,同时也关注内部表现,但不像白盒那样详细完整。
测试的步骤:单元测试、集成测试、确认测试、系统测试
项目管理
范围管理,时间管理,成本管理,质量管理,人力资源管理,沟通管理,风险管理,采购管理,整体管理
时间管理
甘特图:用水平线段表示任务的工作阶段;线段的起点和终点对应任务的开始和完成;线段的长度表示完成任务所需时间。
优点:清晰的描述每个任务从何时开始到何时结束以及各任务之间的并行性。
缺点:不能反映任务之间的依赖关系,难以确定任务关键所在,也不能反映任务中有潜力部分。
PERT:是一个有向图,途中用有向弧表示任务,可以标上任务完成所需时间;图中的节点表示流入节点的任务结束,并开始流出节点任务,把这些节点称为事件。事件本身不消耗时间和资源,它仅表示某个时间点。
Pert图不仅给出了任务开始时间、结束时间和完成任务所需时间,还给出了任务之间关系,以及如期完成整个工程的关键路径。但不能反映任务之间的并行关系。
最晚开始时间取最小,最早开始时间取最大。
关键路径上的最早开始时间和最晚开始时间的点是相等的。
人力资源管理
需要综合考虑系统规模、技术复杂度、项目计划、成本和进度等因素。
风险管理
风险具有不确定性和损失两大特性
分类:项目风险,技术风险,商业风险
风险曝光度:风险的概率乘以风险可能造成的损失。
软件成熟度模型CMM
分为5个等级,初始级、可重复级、定义级、管理级和优化级,每一级都为下一级提供基础。
·初始级:软件过程的特点是无秩序的,有时甚至是混乱的。软件过程定义几乎处于无章法和步骤可循的状态,软件产品所取得的成功往往依赖于极个别人的努力和机遇。
·可重复级:已建立了基本的项目管理过程,可用于对成本、进度和功能特性进行跟踪。对类似的应用项目,有章可循并能重复以往所取得的成功。
·已定义级:用于管理的和工程的软件过程均已文档化、标准化,并形成了整个软件组织的标准软件过程。全部项目均采用与实际情况相吻合的、适当修改后的标准软件过程来进行操作。
·已管理级:软件过程和产品质量有详细的度量标准。软件过程和产品质量得到了定量的认识和控制。
·优化级:通过对来自过程、新概念和新技术等方面的各种有用信息的定量分析,能够不断地、持续地对促进过程进行改进。
除第一级外,每一级都设定了一组目标,如果达到了这组目标,则表明达到了这个成熟级别,自然可以向下一级别迈进。CMM体系不主张跨级别的进化。因为从第二级开始,每一个低级别的实现均是高级别实现的基础。
文档的编制在开发过程中占有突出地位。文档作为检查项目进度和设计质量的依据;是设计人员在一定阶段的工作成果和结束标识;有助于提高设计效率。
知识产权
著作权:作者对其创作的作品享有的人身权和财产权
自软件开发完成之日起,保护期为50年,期满后,除人身权外其他权利终止。
人身权包括:署名权、发表权、修改权和保护作品完整权
财产权包括:发行权、出租权、展览权、表演权和信息网络传播权
合理使用是指可不经著作权人许可,也无需支付报酬,使用其作品。
著作权归属
1、职务开发软件著作权归单位。包括:本职工作明确的开发目标或从事本职工作活动的结果。
2、利用单位资金、专用设备、未公开的信息等物质技术条件,并由单位承担责任的软件,著作权归单位。
3、合作开发软件著作权一般为共同所有,如果有软件著作权协议,按协议确定著作权归属。
4、委托开发的软件,著作权归属由委托人和受托人通过合同约定,如果未明确,著作权归属受托人。
5、接受任务开发的软件,著作权归属在合同中明确约定的一方,未明确的,属于软件开发单位。
6、只进行组织、提供咨询意见、物质条件或其他辅助工作不享有著作权。
侵权判定:
1、中国公民、法人和组织的作品,不论发表是否发表均享有著作权。
2、开发软件所用思想、处理过程、操作方法及数学概念不受保护。
3、法规、决定、命令、立法文件、官方译文、新闻和通用数表不受保护。
以下属于合理使用:
1、个人学习、研究或欣赏,适当引用不构成侵权。
2、为介绍、评论某一作品或说明某一问题,在作品中适当引用他人已发表的作品。
3、公开演讲内容、免费表演他人作品、不够成侵权
4、用户教学或科学研究不构成侵权
5、将汉语译成少数民族语言作品或盲文出版不构成侵权
专利权:由国务院相关部门授予的,对发明创造者在规定的时间内享有的独占使用权。
发明专利的保护时限为自申请日起20年,实用新型专利和外观设计专利为自申请日起10年
两个以上申请人分别对同样的发明创造申请专利,专利权授予最先申请的人。同时申请专利,在收到国务院专利行政部门通知后,自行协商确定申请人,协商不成的均予以驳回。
同样的发明创造,只能授予一项专利。
强制实施许可:法律规定不经专利权人许可而实施专利权人之专利的不构成侵权
专利权归属 :
下列情况专利权归属单位:
1、履行本单位交付的本职工作外的任务所作出的发明。
2、离职、退休或调动工作1年后与原单位相关的发明
3、职务发明创造
4、利用本单位的物质技术条件完成发明创造,其专利权依据合同约定。
商标法
商标注册年限为10年,注册人死亡或倒闭1年未转移可以注销,期满后6个月内可以续注。
商标谁先申请谁拥有,但知名商标非法抢注的除外。
同时申请,谁先使用谁拥有(需提供证据)
无法提供证据、协商归属无效时抽签确定(但不可不确定)
公民作品保护期限:作者终身及死后50年,合作的作品,以最后一名作者死亡为准。
标准是对重复性事物和概念所做的统一规定。它以科学、技术和实践经验的综合成果为基础,经有关方面协商一致,由主管机构批准,以特定形式发布,作为共同遵守的准则和依据。
我国家标准的有效期一般为5年
标准编号
国际标准代号:标准代号+专业类号+顺序号+年代号
我国标准代号:标准代号+标准发布顺序号+标准发布年号
强制性标准代号GB
推荐性标准代号GB/T
指导性标准代号GB/Z
实物标准代号GSB
行业标准代号:汉语拼音大写字母
地方标准代号:由DB加省级行政区代码前两位
企业标准代号:由Q/XXX加企业代号组成
国际标准:IEC ISO ITU
国家标准:ANSI GB
行业标准:IEEE
商业秘密:不为公众所知,具有经济利益和实用性,并且已采取了保密措施的技术信息和经营信息。