第一章软件
软件是计算机程序,规程及运行计算机系统可能需要的文档和数据。软件分为通用软件和定制软件。
软件的特性:1.复杂性2.不可见性3.不断变化4.大多数软件仍然是定制的,而不是通过已有的构件组装而成。
软件于二十世纪50~60年代,70年代,80年代,90年代至今进行发展。
在此过程中遇到一些危机:1.软件的开发成本和进度难以估计,延迟交付甚至取消项目的现象屡见不鲜。2.软件存在着错误多,性能低,不可靠,不安全等质量问题。3.软件的成本在计算机系统的整个成本中所占的比例越来越大。4.软件的维护极其困难,而且很难适应不断变化的用户需求和使用环境。
软件工程早在1968年10月,于德国的加尔迷死开会讨论软件可靠性与软件危机的问题中被Fritz Bauer首次提出。
其包括软件工程是工程概念在软件领域里的一个特定应用,和软件工程涉及软件产品的所有环节。
软件工程的三要素:工具,方法,过程。
计算机辅助软件工程CASE是一组工具和方法的集合,具有一定的层次划分。当前其主要面临的挑战有遗留系统的问题,高可信性开发的要求,软件开发方式的变化。
软件知识体系(swebok)由软件的需求,软件设计,软件构造,软件测试,软件维护,软件配置管理,软件工程管理,软件工程过程,软件工程工具与方法,和软件质量组成。
软件工程人员应秉承一定的职业道德准则,遵纪守法,持有服务客户,造服社会的观念,以城实守信作为工程人员职业道德的核心。
(不知不觉600字了。。)
第二章软件过程
程序员应具有的任务思维与过程思维概述。
软件过程的定义:是软件工程人员为了获取软件产品而在软件工具的支持下实施的一系列软件过程活动。
软件过程的基本活动有1.问题的提出2.软件规格说明3.软件设计4.软件实现5.软件确认6.软件演化。
软件过程的制品按照不同的阶段,书上予以细细的列举。
软件工程的模型有瀑布模型、快速原型模型、增量模型、形式化方法模型、和基于组件的开发模型。
微软公司开发软件过程的案例,1。其开发管理的原则(5点不再一一列举)2.微软公司的软件过程模型有五个阶段(按时间顺序进行)规划阶段、设计阶段、开发阶段、稳定阶段、和发布阶段。3.递进式的软件开发策略。
第三章软件项目管理
软件项目的特征
软件项目管理的“4p”1.人员2.产品3.过程4.项目。
软件项目管理活动4点
人员的组织与管理其中组织有民主式组织、主程序员式组织、技术管理式组织。
以微软为例讲解组织的形式如何运用于实际中。
项目沟通管理:项目沟通具有一定的复杂性,并且有六种沟通方式
项目沟通活动:1.规划项目沟通2.建立基础设施3.实施阶段性评审4.每周组织小组会议。
软件项目规划:1.估算项目规模2.软件项目计划
软件风险管理
风险的是识别:(七中不同形式的识别不一一列举)
面对分先应作出风险分析,规划与监控。
软件基本配置的基本概念及配置管理活动。
第四章需求工程
人们对“软件需求”这个术语缺乏统一的描述,客户所说的“需求”在开发人员看来是一个较高层次的产品概念,而开发人员所说的“需求”在用户看来又像是详细设计。应该说,人们从不同角度和不同的程度反映着各自的需求,形成了不同层次的需求。有业务需求,功能非功能需求,和系统需求。
需求工程过程1.需求的获取2.需求的分析3.需求的规格说明4.需求验证(其中包括正确性,无二义性,完整性,可验证性,一致性,可跟踪性等)。需求管理分为需求变更控制,需求文档的版本控制,需求跟踪需求管理工具。
需求获取技术可以通过面谈、需求专题讨论会观察用户工作流程等方式实现,方法基于原形化方法和用例方法。
案例:小型图书馆资料管理系统
步骤:1.确定参与者2.确定场景3.确定用例4.编写用例描述。
第五章软件工程中的形式化方法
形式化方法的基本概念:1.软件规格说明是对系统对象,对象的操作方法,以及对象行为的描述。2.形式证明与验证技术包括模型检测和定理证明。3.程序求精是将自动推理和形式化方法相结合,从抽象的形式规约推演出具体的面向计算机的程序代码的全过程。
时态逻辑Kripke结构一阶段线性时态逻辑汉诺塔操作规划问题
计算树逻辑是一种离散、分支时间、命题时态逻辑。
模型检测
Z语言概述:Z语言为系统建立基于状态的模型。
其表示大体分为两类:1.集合、关系及函数2.自由类型和模式
实例:1.停车场管理系统为例:初始化,基本定义,状态定义,全局变量声明,操作定义。2.以听图书管理系统为例:(同1.)
网:基本定义任何系统都可以抽象为两类元素和事件。petri网
petri网的实例——信号灯。(对信号灯原理进行简单的描述)
第六章面向对象基础
面向对象方法概述:客观世界是由对象组成的,任何客观的事物或实体都是对象,复杂的对象可以有简单的对象组成;
面向对象技术的发展历史(简述初始,发展,成熟三个阶段)
面向对象的软件工程方法:1.面向对象分析2.面向对象设计3.面向对象编程4.面向对象测试5.面向对象维护
面向对象基本概念:1.对象从不同角度有不同的含义2.类是具有相同的属性和服务的一组对相集合,它属于该类的全部对象提供了统一的抽象描述,其内部属性和服务两个主要部分。3.封装是把对象属性和服务结合成一个独立的系统单位,并尽可能隐藏对相内部细节。4.继承(不再打了)5.消息6.关联7.聚合8.多态性
软件建模概念针对软件所具有的复杂性,以及人们对复杂问题的理解的局限性,在软件开发过程中使用共同的建模语言进行建模十分重要,特别是特别大的复杂系统。
系统、模型和视图(简述了3点)
软件建模的重要性(简述,略)
统一建模语言uml
1,uml发展史2.uml概念:由视图、图、模型元素和公共机制等部分组成。3,uml示例(以图为例)4.uml的应用
常用的uml图:类图、顺序图、状态图。(已学过)
第七章面向对象分析
分析的概念:分析类,分析活动
识别分析类通常,一个参与者与一个用例之间的交互或通讯关联对应一个边界类。边界类收集来自参与者的信息,这些信息可以被实体类控制类控制使用。
识别控制类
控制类负责协调边界和实体类,通常在现实世界中没有对应的事物,他负责接收边界类的信息,并将其分给实体类。
识别实体类简述了识别方法
定义交互行为:顺序图可以讲=将用力和分析对象联系到一起。(绘制顺序图步骤)
建立分析类图1.定义关系和属性2.应用分析模式
评分分析模型(检查正确性的步骤)
第八章面向对象分析
设计的概念
设计活动,设计原则1.模块化2.耦合度和内聚性3.复合型
软件体系结构1.仓库体系结构简述2.分层体系结构3.mvc体系结构4.客户机/服务器体系结构5.管道和过滤体系结构6.案例:minilibrary系统体系结构(图略)
系统设计1.识别设计元素2.数据储存策略3.部署子系统4.系统设计评审
详细设计1.方法建模(三点)2.属性建模3.状态建模4.关键建模5.详细设计评审。
应用设计模式:1.abstract factory模式2.adaptor模式3.bridge模式4.facade模式
用户界面设计:1.用户界面设计原则2.web界面的设计3.用户支持
设计文档步骤1.引言2.参考文献等(共6个步骤)
第九章软件实现
程序设计语言一直在不断地演化和演变,其从经历了从机器语言到高级语言的过程。
软件编码规范1.文件命名与组织2.代码的版式3.分行、对齐与缩进4.命名规则5.声明6.注释
软件编码案例分析:1.程序注释问题2.变量命名问题3.内存异常问题(4点)4.异常处理问题5.性能问题两点
软件代码审查代码审查有:1.类2.属性3.构造函数4.方法头5.方法体
第十章软件测试
验证与确认:1.软件的错误2.验证与确认3.v&v的活动
软件测试基础:1.什么是软件测试2.软件测试的基本原则3.软件测试与软件开发各阶段的关系4.测试文档5.软件测试信息流6.软件测试人员。
软件测试策略:1.单元测试2.集成测试确认测试4.系统测试5.软件调试。
软件测试方法:1.静态测试与动态测试2.黑盒测试与白盒测试3.黑盒测试方法4.白盒子测试方法5.程序的静态测试
面向对象软件测试:1.面向对象测试类型2.面向对象测试示例3.gui测试示例软件测试工具。
第十一章软件演化
软件演化的特性1.软件维护是一个必然的过程2.软件的不断修改会导致软件退化3.软件系统的演化特性是在早期的开发阶段建立起来4.软件开发的效率与投入的资源无关5.在软件系统中添加新的功能不可避免地会产生新的缺陷。
软件维护的概念:1.改正性维护2.适应性维护3.完善性维护
软件维护的特点:1.软件维护受开发过程影响大2.软件维护困难多3.软件维护成本高。
软件维护的过程1.改正性维护2.适应性维护3.完善性维护
软件再工程:1.对象选择2.反向过程3.文档重构4.代码重构5.数据重构6.正向工程。
软件工程——理论方法与实践(段落概述第一章至第十一章)
时间: 2024-10-14 01:48:39
软件工程——理论方法与实践(段落概述第一章至第十一章)的相关文章
软件工程理论方法与实践
第一章. 概述 软件是人类思维的杰作,并成为人类现代生活的催化剂.今天软件遍布整个世界,在生物工程.现代通信.宇宙探索.商务处理.工业控制等方面发挥出巨大的威力,并推动了商业.科学和工程领域的跨越式发展,对整个社会的经济和文化产生了深远的影响.软件工程师为了解决开发成本效益和软件质量的问题而产生的.软件是计算机程序.规程以及运行计算机系统可能需要的相关文档和数据.软件分为通用软件和定制软件.软件的特性分别是软件是复杂的.软件是不可见的.软件是不断变化的.大多数软件是定制的而不是通过已有构件组装
阅读《软件工程—理论方法与实践》第一章心得体会
通过对第一章的阅读,软件的划分有了了解,知道了软件是复杂的.不可见的.不断变化的,并且大多数软件是定制的,并不是通过已有构件组装而成的.软件维护是非常困难的,新的修改又会带来新的错误.软件存在多种质量问题,且能成功完成的软件项目的平均率在26%左右.软件工程已关注软件质量为目标,有过程.方法和工具三要素组成.对于软件的质量,对不同的用户角色是不一样的,但他们都有共同的质量要求是可靠性.正确性和有效性.软件工程知识体系被划分10个知识域:软件需求.软件设计.软件构造.软件测试.软件配置管理.软件工
软件工程理论方法与实践第一章读后感
软件是计算机程序,规程以及运行计算机系统可能需要的相关文档和数据,根据软件服务UI想的范围不同,一般可以将软件划分为通用软件和定制软件两种类型.软件的特性主要有,软件是复杂的,不可见的,不断变化的,大多数软件是定制的而不是通过已有的构建组装而成的,然而在软件开发过程中软件开发的成本和进度难以准确估计,延迟交付甚至取消项目的现象屡见不鲜,软件存在这错误多性能低不可靠不安全等质量问题,软件成本在计算机系统的整个成本中所占比例越来越大,且维护困难等等,而软件工程中则是将工程化应用到软件上,由过程方法和
阅读《软件工程—理论方法与实践》第五章心得体会
阅读第五章所了解到的基本知识,形式化方法是指将离散数学的方法用于解决软件工程领域的问题,主要包括建立精确的数学模型以及对模型的分析活动.主要目的是保证软件的正确性.已建立的形式化方法可分为操作类和描述类.操作类方法基于状态和转移;描述类基于数学公理和概念.形式证明与验证技术主要包括模型检测(适用于有穷状态系统,完全自动化并且验证速度快)和定理证明(采用逻辑公式来表示系统规约及其性质,分为自动和交互式两种).一阶线性时态逻辑是一阶谓词逻辑的扩展.对汉诺塔操作规划问题有了更深一步的理解.计算树逻辑是
阅读《软件工程—理论方法与实践》第三章心得体会
通过对第三章的阅读,对以下概念有了了解:软件项目管理是为了使软件项目能够按照预定的成本.进度.质量顺利完成,而对成本.人员.进度.质量.风险等进行分析和管理的活动.其有利于将软件开发人员的个人开发能力转化成企业的开发能力,并使企业的软件开发能力不断提高和成熟.软件项目的特征有软件产品的不可见性.项目的高度不确定性.软件过程的多变化性,降低复杂性和控制变化成为软件项目管理面临的关键问题.软件项目管理集中于人员.产品.过程和项目.软件项目的生命周期包括项目启动(确定项目的目标和范围).项目规划(建立
阅读《软件工程—理论方法与实践》第二章心得体会
软件过程是软件工程人员为了获取软件产品而在软件工具的支持下实施的一系列软件工程活动.其基本活动包括:问题提出.软件需求规格说明.软件设计.软件实现.软件确认.软件演化.软件过程产品涉及软件需求.软件设计.软件实现.软件测试和软件实施等活动产生的结果,这些制品通常是在不同的开发活动之间进行转移和演进.常用软件过程模型:瀑布模型(适用于开发的早期阶段软件需求被完整确定的情况).快速原型模型(必须迅速建立原型,随之迅速修改原型,以反映客户的需求).増量模型(可以较好地适应需求的变化).螺旋模型(强调可
软件工程理论方法与实践第五章读后感
形式化方法是指将离散数学的方法用于解决软件工程领域的问题,主要包括建立精确的数学模型以及对模型的分析活动,从根本上讲,软件设计过程就是一个建立形式化规约,软件设计的最终产物--程序在进行形式化的过程中涉及到三中系统模型:现实世界,模型表示和计算机系统.软件规格说明是对软件系统对象,对象的操作系统以及对象行为的描述,形式化的规格说明可用自然语言图表等形式来描述,模型检测主要用于有穷状态系统,优点是完全自动化并且验证速度快
阅读《软件工程—理论方法与实践》第六章心得体会
面向对象技术是软件工程领域中的重要技术,不仅仅是一种程序设计方法,更是一种对真实世界的抽思维方式.面向对象的软件工程方法涉及到从面向对象分析.面向对象设计.面向对象编程.面向对象测试到面向对象软件维护的全过程.面向对象的基本概念包括对象.类.封装.继承.消息.关联.聚合.多态性.属性和服务是构成对象的两个基本要素.使用共同的建模语言进行软件建模在软件开发过程中很必要(①以一种容易理解的形式为后期使用信息提供了便利的方法,②便于交流).UML富有表达力,描述开发所需要的各种视图,以此为基础组建系统
软件工程理论方法与实践第二章读后感
第二章读后感 为解决软件开发的问题,首先是将整个软件开发任务看做是一个可比较的刻度量的可改造,而软件过程是软件工程人员为了获得软件产品而在软件工具的支持下实施的一系列软件工程活动,主要包括问题提出,软件需求规格说明,软件设计等等.软件过程模型主要分为瀑布模型,快速原型模型,增量模型,螺旋模型,形式化方法模型,基于组件的开发模型.而微软公司的软件过程模型由规划,设计,开发,稳定和发布五个主要阶段组成,采取低近视的软件开发策略,具体表现在解决问题的及时行.不确定和变更因素的可控性,缩短按产品的上市周