软件工程管理的要点 软件工程管理的要点是什么 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1 学习到内容1、软件工程的基本概念 软件的概念:软件 = 程序 + 文档 软件是能够完成预定义功能的可执行的计算机程序和使程序正常执行所需要的数据,加让描述程序的操作和文档。 程序:适合计算机处理的语句序列 它的目的是啥呢?是为了解决某个特殊的问题 文档:开发活动的记录 用于通信和交流,开发过程的管理和运行阶段的维护 软件的类型: 系统软件、实时软件、嵌入式软件 科学与工程计算机软件、事务处理软件 人工智能软件、case<计算机辅助软件工程computer Aided Software Engineering>工具软件、及其他软件 软件工程的概念 用工程、科学、和数学的原则与方法研制、维护计算机软件的有关技术和方法<我的理解是啥呢?拿管理工程的那套方法或者原则来管理软件> 为啥会诞生软件工程? 软件开发遇到了危机,要拿出解决的办法--于是软件工程诞生 软件工程做了啥工作呢?《也就是软件工程的目标》(1) 可修改性:系统修改,不增加系统的复杂性(2) 有效性:时间和空间的有效性<其实没明白>(3) 可靠性:保障系统的可靠性,比如因概念、设计、和结构方面的不完善做成的系统失效,具有挽回操作能力(4) 可理解性:系统有清晰的结构,直接反应问题的需求《文档的作用》(5) 可维护性:能够进行修改,目的是使产品适应环境变化的难易程度(6) 可重用性:可以被多次利用(7) 可适应性:约束条件不同都能适应(8) 可移植性:软件环境的搬迁移植方便<数据移植,2版本-3版本>(9) 可追踪性:逆向追踪的能力(10) 可互操作性:通信、协调工作 软件工程的要素 方法:完成软件工程项目的<技术>手段 如项目的计划、估算、系统和软件需求分析、软件设计、编码。 工具:人类开发软件的活动中智力体力的延伸《开发、管理工具》 过程:组织管理方法《和方法的关系:方法描述静态的实现软件工程的手段,过程:组织这些方法的动态过程》 软件的生命周期 典型的软件生命周期包括1、 计划时期:问题定义、可行性研究2、 开发时期:需求分析、软件设计(概要、详细)软件编码、软件测试3、 运行时期:软件维护4、 软件工程涉及到得人员 客服《付钱的人》、用户《使用产品的人》、开发人员《开发产品的人》 穿插内容:程序员的成长链• 程序员• 系统分析师 • 系统设计师 • 项目经理 • 产品经理 • 架构设计师 2、软件开发模式 概念:软件项目开发和维护的总体过程思想的架构《好难理解啊~!觉得好像是一种风格,比如说建造楼阁,西方风格和东方风格》 作用:指出了软件开发过程中各阶段之间的关系和顺序 给开发过程提供原则和方法 给工程管理提供里程碑和进度表《感觉有点像是在建造楼房,模型对应的是建造楼房的工程管理方式》主要的几个模型:瀑布式:重点是啥呢?前一阶段的完成时后一阶段的开始快速原型:快速的实现开发产品主要部分,供用户使用、提出意见阶段开发:完成一部分交付一部分螺旋模型:和瀑布、快速原型的区别在于加入风险分析统一:转换:模型驱动:构建集成:基于复用的软件开发:系统复用3、软件开发过程 概念 人们用以开发和维护软件及其相关产品(例如,项目计划、设计文档、代码、测试用例、用户手册等等)的一组活动、方法和实践。过程和模型的联系:实例和类的关系4、OO的编程思想 以对象为核心,强调对现实概念的模拟而不强调算法。“面向对象方法学的基本原则,是按照人们习惯的思维方式建立问题域的模型,开发出尽可能直观、自然地表现求解方法的软件系统” 准则: 模块化:对象就是模块 抽象:规格说明抽象<类抽象> 参数化抽象<方法抽象> 信息隐藏:对象封装 低耦合:交互耦合 继承耦合 强内聚:服务内聚 类内聚 一般-特殊内聚 可重用性:用已有类、设计时可重用5、软件测试 目的与任务:测试:发现错误 纠错:定位和纠正错误 测试的特性 。。 。。 测试的分类 静态:静态分析器分析、代码评审、人工方式 动态:黑盒、白盒 俺们组现在存在的问题:1、代码2、分析3、规范 测试的文档:测试计划+测试报告 测试用例 测试结果6、软件重用和重构待续••••••2 总结1、 将的内容很好,但是现在实际使用较少,建议讲设计模式2、 死板,PPT内容的翻版,加入自己的话语、理解3、 俺的坐标,俺学习榜样 MyEclipse哪个版本稳定~~ Enumeration 请问怎么才能获取这个Beaan hibernate中的get()和load()之间的差别问题 struts2问题!!! hibernate+Oracle的一个入门大问题 有关Hibernate的一个小问题! java.lang.IllegalStateException: Unable to retrieve node by super type when multiple exist 如何将修改数据保存到XML文件中,谢谢了 一個基於j2ee的erp系統,j2ee高手進來拿分 jboss eap jms集群疑问 Java技术交流
1、软件工程的基本概念
软件的概念:软件 = 程序 + 文档
软件是能够完成预定义功能的可执行的计算机程序和使程序正常执行所需要的数据,加让描述程序的操作和文档。
程序:适合计算机处理的语句序列
它的目的是啥呢?是为了解决某个特殊的问题
文档:开发活动的记录
用于通信和交流,开发过程的管理和运行阶段的维护
软件的类型:
系统软件、实时软件、嵌入式软件
科学与工程计算机软件、事务处理软件
人工智能软件、case<计算机辅助软件工程computer Aided
Software Engineering>工具软件、及其他软件
软件工程的概念
用工程、科学、和数学的原则与方法研制、维护计算机软件的有关技术和方法<我的理解是啥呢?拿管理工程的那套方法或者原则来管理软件>
为啥会诞生软件工程?
软件开发遇到了危机,要拿出解决的办法--于是软件工程诞生
软件工程做了啥工作呢?《也就是软件工程的目标》
(1) 可修改性:系统修改,不增加系统的复杂性
(2) 有效性:时间和空间的有效性<其实没明白>
(3) 可靠性:保障系统的可靠性,比如因概念、设计、和结构方面的不完善做成的系统失效,具有挽回操作能力
(4) 可理解性:系统有清晰的结构,直接反应问题的需求《文档的作用》
(5) 可维护性:能够进行修改,目的是使产品适应环境变化的难易程度
(6) 可重用性:可以被多次利用
(7) 可适应性:约束条件不同都能适应
(8) 可移植性:软件环境的搬迁移植方便<数据移植,2版本-3版本>
(9) 可追踪性:逆向追踪的能力
(10) 可互操作性:通信、协调工作
软件工程的要素
方法:完成软件工程项目的<技术>手段
如项目的计划、估算、系统和软件需求分析、软件设计、编码。
工具:人类开发软件的活动中智力体力的延伸《开发、管理工具》
过程:组织管理方法《和方法的关系:方法描述静态的实现软件工程的手段,过程:组织这些方法的动态过程》
软件的生命周期
典型的软件生命周期包括
1、 计划时期:问题定义、可行性研究
2、 开发时期:需求分析、软件设计(概要、详细)软件编码、软件测试
3、 运行时期:软件维护
4、
软件工程涉及到得人员
客服《付钱的人》、用户《使用产品的人》、开发人员《开发产品的人》
穿插内容:程序员的成长链
• 程序员
• 系统分析师
• 系统设计师
• 项目经理
• 产品经理
• 架构设计师 2、软件开发模式
概念:软件项目开发和维护的总体过程思想的架构《好难理解啊~!觉得好像是一种风格,比如说建造楼阁,西方风格和东方风格》
作用:指出了软件开发过程中各阶段之间的关系和顺序
给开发过程提供原则和方法
给工程管理提供里程碑和进度表
《感觉有点像是在建造楼房,模型对应的是建造楼房的工程管理方式》
主要的几个模型:
瀑布式:重点是啥呢?前一阶段的完成时后一阶段的开始
快速原型:快速的实现开发产品主要部分,供用户使用、提出意见
阶段开发:完成一部分交付一部分
螺旋模型:和瀑布、快速原型的区别在于加入风险分析
统一:
转换:
模型驱动:
构建集成:
基于复用的软件开发:系统复用
3、软件开发过程
概念
人们用以开发和维护软件及其相关产品(例如,项目计划、设计文档、代码、测试用例、用户手册等等)的一组活动、方法和实践。
过程和模型的联系:实例和类的关系
4、OO的编程思想
以对象为核心,强调对现实概念的模拟而不强调算法。“面向对象方法学的基本原则,是按照人们习惯的思维方式建立问题域的模型,开发出尽可能直观、自然地表现求解方法的软件系统”
准则:
模块化:对象就是模块
抽象:规格说明抽象<类抽象>
参数化抽象<方法抽象>
信息隐藏:对象封装
低耦合:交互耦合
继承耦合
强内聚:服务内聚
类内聚
一般-特殊内聚
可重用性:用已有类、设计时可重用
5、软件测试
目的与任务:测试:发现错误
纠错:定位和纠正错误
测试的特性
。。
。。
测试的分类
静态:静态分析器分析、代码评审、人工方式
动态:黑盒、白盒
俺们组现在存在的问题:1、代码2、分析3、规范
测试的文档:测试计划+测试报告
测试用例
测试结果
6、软件重用和重构
待续••••••
2 总结
1、 将的内容很好,但是现在实际使用较少,建议讲设计模式
2、 死板,PPT内容的翻版,加入自己的话语、理解
3、 俺的坐标,俺学习榜样