随笔分类 - 软件工程
摘要:分类 按照文档产生和使用范围,软件文件可分为开发文档、管理文档和用户文档。 其中开发文档产生于软件开发过程,是前一阶段的工作成果体现,也是后一阶段工作的依据,用户文档是为用户准备的软件使用、操作、维护的资料。 作用 软件文档在软件开发过程和运行维护中起着重要作用,比如文件可以提高软件开发过程的能见度
阅读全文
摘要:项目估算是项目计划和管理的一个至关重要的方面。 成本超出某个限度可能导致客户取消项目,而过低的成本估算可能会迫使开发小组投入大量的时间却没有相应的经济回报。 常用方法:专家判断方法、算法方法、机器学习方法。 专家判断方法:该方法受到专家经验和主观性等方面的影响; 算法方法:根据某个计算模型来估算项目
阅读全文
摘要:类间关系可分为依赖、关联、聚合、组合和继承5种。 按照上述顺序,类间关系依次增强。 若类A的方法中仅仅使用了类B的对象,那么类A依赖于类B。 泛化/概化关系表示把几类对象类的公共属性和行为抽象成超类,然后其属性和方法被那些子类继承; 若类B除具有类A的全部特性外,类B还可定义新的特性以及置换类A的部
阅读全文
摘要:软件风险一般包括不确定性和损失两个特性。 其中不确定性是指风险可能发生,也可能不发生; 损失是当风险确实发生时,会引起的不希望的后果和损失。 救火和危机管理是对不适合但经常采用的软件风险管理策略。 已知风险和未知风险是对软件风险进行分类的一种方式。 员工和预算是在识别项目风险时需要识别的因素。 风险
阅读全文
摘要:软件能力成熟度模型 (Capability maturity model,CMM) CMM是目前国际上使用流行的一种软件生产过程行业标准模型,可定义、评价软件开发过程的成熟度,并提供提高软件质量的指导。 CMM模型定义了初始级(1级)、可重复级(2级)、定义级(3级)、管理级(4级)、优化级(5级)
阅读全文
摘要:根据软件工程框架,软件工程活动包括“需求、设计、实现、确认和支持”。 需求 通常,我们把其中的“需求”看作是软件开发的一个阶段。 在这一阶段中,主要包括需求获取、需求分析和需求验证等活动。 需求分析主要是确定待开发软件的功能、性能、数据和界面等要求。 具体来说可由如下几点:(1)确定软件系统的综合要
阅读全文
摘要:软件过程是软件生命周期中的一系列相关活动,即用于开发和维护软件及相关产品的一系列活动。 软件过程模型可以帮助开发团队理解开发过程,形成对开发中的活动、资源和约束的共同理解,可以根据具体情况对一个过程进行裁翦等。 瀑布模型 瀑布模型最早由Royce提出,该模型因过程排列酷似瀑布而得名。 该模型是文档驱
阅读全文
摘要:UP (Unified Process,统一软件开发过程)。 RUP(Rational Unified Process) 是 Rational 公司开发和维护的过程产品。 统一过程模型是一种“用例驱动,以体系结构为核心,迭代及增量”的软件过程框架,由UML方法和工具支持。它提供了一种演进的特性。 每
阅读全文
摘要:极限编程 (ExtremeProgramming,简称XP) 由KentBeck在1996年提出的,适用于小团队开发。 是一个轻量级的、灵巧的软件开发方法; 基础和价值观:沟通(Communication)、简单(Simplicity)、反馈(Feedback)、勇气(Courage);即,任何一个
阅读全文
摘要:软件测试方法是指测试软件性能的方法。 软件测试方法分为静态测试和动态测试。 静态测试是被测试程序不在机器上运行而采用人工检测和计算机辅助静态分析手段对程序进行检测。 动态测试是通过运行程序发现错误。对软件产品进行动态测试时可以采用黑盒测试和白盒测试法。 静态测试 指测试不运行的部分,例如测试产品说明
阅读全文
摘要:一、分类 正确性维护、适应性维护、完善性维护、预防性维护。 二、说明 正确性维护:是指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误; 适应性维护:是指使应用软件适应信息技术变化和管理需求变化而进行的修改; 完善性维护:是为扩充功能和改善性能而进行的修改: 预防性维护:是为了改进应用软件的可靠
阅读全文
摘要:ISO9126 软件质量模型是评价软件质量的国际标准,有6个特性和27个子特性组成。 可靠性:指的是一个系统对于给定的时间间隔内、在给定条件下无失效运作的概率。 可靠性与软件的潜在错误的数量、位置、和软件产品的使用方式有关。 可用性:使之在给定的时间点上,一个软件系统能够按照规格说明正确运行的概率。
阅读全文
摘要:管理开发进度的工具 甘特图、PERT图(计划评审技术)及CPM图(关键路径法)。 甘特图(Gantt图) 是进行项目进度管理的一个重要工具,它对项目进度进行描述,显示在什么地方活动是并行进行的,并用颜色或图标来指明完成的程度。 优点:能够清晰描述每个任务的开始/结束时间及各任务之间的并行性,哪些在关
阅读全文
摘要:1、需求分析确定软件要完成的功能及非功能性要求; 2、概要设计将需求转化为软件的模块划分,确定模块之间的调用关系; 3、详细设计将模块进行细化,得到详细的数据结构和算法; 4、编码根据详细设计进行代码的编写,得到可以运行的软件,并进行单元测试。
阅读全文

浙公网安备 33010602011771号