{企业管理制度}软件工程技术讲座之程序VS软件篇

上传人:精****库 文档编号:140943537 上传时间:2020-08-03 格式:PPTX 页数:43 大小:566.47KB
返回 下载 相关 举报
{企业管理制度}软件工程技术讲座之程序VS软件篇_第1页
第1页 / 共43页
{企业管理制度}软件工程技术讲座之程序VS软件篇_第2页
第2页 / 共43页
{企业管理制度}软件工程技术讲座之程序VS软件篇_第3页
第3页 / 共43页
{企业管理制度}软件工程技术讲座之程序VS软件篇_第4页
第4页 / 共43页
{企业管理制度}软件工程技术讲座之程序VS软件篇_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《{企业管理制度}软件工程技术讲座之程序VS软件篇》由会员分享,可在线阅读,更多相关《{企业管理制度}软件工程技术讲座之程序VS软件篇(43页珍藏版)》请在金锄头文库上搜索。

1、软件工程技术讲座程序 VS 软件,软件工程技术讲座程序VS软件篇,程序与软件 程序设计与软件开发 软件工程 推荐几本书 其它问题,程序与软件,概念基础对比 实现过程对比 扩展支持对比,程序与软件,概念基础对比 什么是程序? 程序 (程式)是计算机软件的一个实例,规定了由计算机执行的动作(“计算”)。大多数程序由可加载的指令集组成,指令集在程序运行时,决定计算机如何对用户的输入做出反应。 from Google 程序是指令集的组成,或者说经过可编译的具有简单条理的指令集。from qingrun 程序不一定就是软件的一部分,因为软件对其中的程序会有更多的一些附加要求,诸如:编码规范、安全、稳定、

2、性能、架构合理等等。而程序自身则没有这方面的限制和要求。 from qingrun,程序与软件,概念基础对比 什么是软件? 是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中间件。其中系统软件为计算机使用提供最基本的功能,但是并不针对某一特定应用领域。而应用软件则恰好相反,不同的应用软件根据用户和所服务的领域提供不同的功能。 from Google,程序与软件,概念基础对比 程序和软件的区别 程序是指令集的组成,或者说经过可编译的具有简单条理的指令集。 软件要求其中的指令集的组成形式必须符合一定的规范,或者说可编译的具有相当规则的指令集

3、的组成才能称之为软件。 程序不一定就是软件的一部分,因为软件对其中的程序会有更多的一些附加要求,诸如:编码规范、安全、稳定、性能、架构合理等等。而程序自身则没有这方面的限制和要求。,程序与软件,概念基础对比 程序和软件的区别 软件中的程序是分类的,可以粗略的划分为:系统程序、业务程序、测试程序等等(当然也可以采用其他的划分方式/规则进行划分)。 系统程序:实现系统性功能和非业务性功能的代码组成。 业务程序:实现系统业务性功能相关的代码。 测试程序:为了测试系统程序和业务程序所编写的代码。,程序与软件,概念基础对比 程序的图例 Asp+COM的程序实现结构,程序与软件,概念基础对比 软件的图例

4、三层架构mvc模式的软件实现架构,程序与软件,概念基础对比 什么是程序员? 程序员是从事程序开发、维护的专业人员。 from Google 只要是会写程序的人都被称为程序员。 什么是软件工程师? 软件工程师一般指从事软件开发职业的人。 from Google 会写程序的人不见得可以被称为软件工程师。 例如:黑客,只能称自己是程序员,但他们却不是软件工程师。,程序与软件,概念基础对比 程序员和软件工程师的区别 软件工程师跟一般程序员的分别,在于一个程序员的工作是按照指定的specification来做coding,而软件工程师的工作则需要规划。不过,由于现时社会的分工愈来愈模糊,软件工程师跟程序

5、员的分工也愈不明显。但对于严格执行CMM的机构来说,各人的工作分工也比较清晰,这有助于了解软件工程师跟一般程序员的分别。from Google 个人认为上面的定义不是很确切,原因如下页。,程序与软件,概念基础对比 程序员和软件工程师的区别 程序员不一定必须按照指定的specification来coding,很多时候会写代码的人就会被称为程序员。 程序员的工作也需要规划,黑客采取行动之前肯定也是做了比较细致的规划工作的。 软件工程师的工作则是必须按照specification来做coding以及相关的维护服务或者工作。 至少因为上面几条,我个人认为google出来的这个定义不是很准确。,程序与软

6、件,概念基础对比 程序员和软件工程师的区别 以前有人说中国没有软件工程师的原因:是因为中国的软件企业和研发团队都不是按照工程过程的规范来研发软件的。 软件工程师和程序员的最大区别在于:是否是按照工程的要求来进行coding和完成相关工作。 工程的要求就包括:规划、可研、设计、施工、初验、试运行、终验、评估等国家工程建设标准过程。对应于软件工程就包括:规划、需求工程、分析、设计、编码、测试、部署、验收、评估等。,程序与软件,概念基础对比 程序员(Programmer)是没有分类的。 软件工程师的分类大体如下: 项目管理者(Project Manager) 架构设计师(Architect Desi

7、gner) 需求人员(Requirement Capturer) 分析人员(System Analyzer) 设计人员(System Designer) 编码人员(Coder or Programmer) 测试人员(Tester or SQC),程序与软件,概念基础对比 软件工程师的其他分类人员: 配置管理员(SCM) 质量管理员(SQA) 需求管理员(RM) 数据库管理员(DBA),程序与软件,实现过程对比 程序的实现过程就是获取需求,编写代码,调试,然后投入使用/计算。 软件的实现过程包括制定计划,获取需求,架构设计,系统分析设计,编写代码(包括调试),测试,质量管理等。 软件工程师的分类

8、也是由于工程本身的要求而对这个职业的从业人员进行了划分。,程序与软件,扩展支持对比 程序员开发程序基本上没有其他支持。 软件开发还需要如下过程或管理支持: 计划管理(Project Plan)* 需求管理(Require Manage) * 变更管理(Change Manage)* 风险管理(Risk Manage) * 质量保证(Quality Assurance) * 测试管理(Quality Control or Test Manage) * 组间协作(Team Corporation) * 同行评审(Peer Opinion) * ,程序与软件,代码对比 程序 float f = 2.

9、5246; int i = f; 或者int i = (int)f;,程序与软件,代码对比 软件第一种写法: float f = 2.5246; If ( f 2.5 ) i = (int)f; else i = (int)f + 1; 软件的第二种写法 float f = 2.5246; i = (int)f + 1;,程序设计与软件开发,程序概述 程序实现 设计方法 软件实现 软件实现VS程序实现 实例讲解,程序设计与软件开发,程序 能够让计算机完成所有功能实现的程序 按照正确的输入可以得到正确的输出 什么是好的程序 能够判断合理的不正确输入给出相应的提示 程序结构合理 注释充足明确易懂

10、效率和质量兼顾,程序设计与软件开发,程序实现 重点在算法,不在结构。 强调功能实现,而不强调功能扩展。 重视调试,而轻视测试。 关注编码和技巧,而不关注业务。,程序设计与软件开发,程序设计方法 无概念编程阶段(1968) 面向过程编程 面向对象编程(OOP) 面向组件编程 面向方面编程(AOP),程序设计与软件开发,软件实现 重点在结构(架构),而不在算法。 强调功能实现,也强调功能扩展。 要求调试,更注重测试。 规范编码,着眼于业务。,程序设计与软件开发,软件实现 重点在结构(分层和架构) ,而不在算法。 强调功能实现,也强调功能扩展。 要求调试,更注重测试。 规范编码,着眼于业务。 程序实

11、现 重点在算法,不在结构。 强调功能实现,而不强调功能扩展。 重视调试,而轻视测试。 关注编码和技巧,而不关注业务。,程序设计与软件开发,软件分层实例,程序设计与软件开发,软件 架构 实例,程序设计与软件开发,软件代码 设计实例,软件工程,软件工程概述 软件产品化,软件工程,软件工程概述 软件工程是指导计算机软件开发和维护的工程学科,是采用工程的概念、原理、 技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最合适的技术方法结合起来的实现过程。 简单说:软件工程就是软件开发过程的工程化。,软件工程,软件工程过程相关的几个概念 瀑布 螺旋 迭代 RUP XP CMM/

12、CMMI,软件工程,软件工程失败的几个例子 在Win2000下,下图中显示的是个气球。而,请注意: XP下这里根本不是气球了。,软件工程,软件工程失败的几个例子,软件工程,软件工程失败的几个例子,软件工程,软件产品化 产品化过程如下: 提出研究方向 课题研究 软件产品规划(课题成果产品化过程起步) 软件工程活动(软件产品化)和市场推广 承接工程应用和产品销售 根据应用和销售的反馈寻找新的研究方向,软件工程,软件产品化 产品化过程图示如下:,软件工程,软件产品化 企业产品研发过程图示如下:,软件工程,软件产品化 软件工程活动过程,图书推荐,人件(第2版) 作者:美Tom DeMarco, Tim

13、othy Lister/著 译者:UMLChina/译 出版社:清华大学出版社 出版日期:2003年7月 开本:880*1230 1/32 字数:207千字 页数: 352,图书推荐,人件第1版于1987 年出版,专门讨论了软件开发和维护团队的管理问题,并向人们的传统认识提出了挑战。 作者在书中推崇人本管理思想,正确指出知识型企业的核心是人,而不是技术,呼吁给予软件工作者充分的自由和信任。 本书推出后,立即在西方引起了轰动,被誉为几十年来对美国软件业影响最大的理念。,图书推荐,人件集人性化的软件开发 出版社:人民邮电出版社 作者:Larry L. Constantine 译者:谢超 刘颖 谢卓凡 李虎 出版日期:2004年2月 字数:421 开本:1/32 页数: 300,图书推荐,* 著名的康斯坦丁人件集的修订版 * 大量的专栏文章全方位探讨软件开发中人的因素 人件集人性化的软件开发包括了两个全新的部分: 组织文化; 如何让软件对象更为可用。 这部分文章中包括了Constantine提倡的“以使用为中心”的设计方法,这是一种突破性的方法,而且有关这方面内容的文章很难见到。,结束语,最后请大家填写一下调查问卷,非常感谢。 感谢各位来参加这次交流。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号