软件工程技术讲座之程序VS软件篇

上传人:痛*** 文档编号:162525642 上传时间:2022-10-18 格式:PPTX 页数:44 大小:735.44KB
返回 下载 相关 举报
软件工程技术讲座之程序VS软件篇_第1页
第1页 / 共44页
软件工程技术讲座之程序VS软件篇_第2页
第2页 / 共44页
软件工程技术讲座之程序VS软件篇_第3页
第3页 / 共44页
点击查看更多>>
资源描述
软件工程技术讲座程序 VS 软件软件工程技术讲座程序VS软件篇p 程序与软件p 程序设计与软件开发p 软件工程p 推荐几本书p 其它问题程序与软件p 概念基础对比p 实现过程对比p 扩展支持对比程序与软件p 概念基础对比p 什么是程序?p 程序(程式)是计算机软件的一个实例,规定了由计算机执行的动作(“计算”)。大多数程序由可加载的指令集组成,指令集在程序运行时,决定计算机如何对用户的输入做出反应。from Googlep 程序是指令集的组成,或者说经过可编译的具有简单条理的指令集。from qingrunp 程序不一定就是软件的一部分,因为软件对其中的程序会有更多的一些附加要求,诸如:编码规范、安全、稳定、性能、架构合理等等。而程序自身则没有这方面的限制和要求。from qingrun程序与软件p 概念基础对比p 什么是软件?p 是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中间件。其中系统软件为计算机使用提供最基本的功能,但是并不针对某一特定应用领域。而应用软件则恰好相反,不同的应用软件根据用户和所服务的领域提供不同的功能。from Google程序与软件p 概念基础对比p 程序和软件的区别p 程序是指令集的组成,或者说经过可编译的具有简单条理的指令集。p 软件要求其中的指令集的组成形式必须符合一定的规范,或者说可编译的具有相当规则的指令集的组成才能称之为软件。p 程序不一定就是软件的一部分,因为软件对其中的程序会有更多的一些附加要求,诸如:编码规范、安全、稳定、性能、架构合理等等。而程序自身则没有这方面的限制和要求。程序与软件p 概念基础对比p 程序和软件的区别p 软件中的程序是分类的,可以粗略的划分为:系统程序、业务程序、测试程序等等(当然也可以采用其他的划分方式/规则进行划分)。p 系统程序:实现系统性功能和非业务性功能的代码组成。p 业务程序:实现系统业务性功能相关的代码。p 测试程序:为了测试系统程序和业务程序所编写的代码。程序与软件p 概念基础对比p 程序的图例p Asp+COM的程序实现结构:SystemAdmin:manageForm:manageCOM:loginControl循环获得用户信息对象列表这里显示的是所有用户的姓名和概要信息列表,后面扶带着修改、删除操作按钮。页面下端是提交按钮,只有选择提交后,系统才会将删除操作提交到数据库。3./进行修改操作并提交4./进行删除操作2./选择修改用户信息3.1.submit()4.1.submit(httpRequest)2.1.submit()2.1.1./返回用户详细信息修改界面3.1.4./返回更新结果4.1.4./返回更新结果1.8./显示用户信息列表1.4./显示用户没有权限的页面1.submit()1.1.msSqlConnect()1.2.checkUserRight()1.3.msSqlClose()1.5.msSqlConnect()1.6.mssdbGetData()1.7.msSqlClose()3.1.1.msSqlConnect()3.1.2.mssdbUpdate()3.1.3.msSqlClose()4.1.1.msSqlConnect()4.1.2.mssdbDelete()4.1.3.msSqlClose()程序与软件p 概念基础对比p 软件的图例p 三层架构mvc模式的软件实现架构:SystemAdmin:manageForm:manageControl:manageEntity:msSqlServer3./进行修改操作并提交3.1.submit(httpRequest)3.1.1.2.1./返回更新结果1.getUserList(CHAR,CHAR)1.2./否,告知用户没有权限,请检查1.4./返回用户信息列表1.4.1./显示用户信息列表3.1.1.submitModOp()3.1.1.2./返回更新结果1.1.checkUserRight(CHAR,CHAR,CHAR)1.2.1./显示用户没有权限的页面1.1.1.返回false1.3.mssdbGetData(object)循环获得用户信息对象列表1.3.1.返回用户信息对象4./进行删除操作4.1.submit(httpRequest)3.1.1.1.mssdbUpdate()3.1.1.1.1./返回操作结果2./选择修改用户信息2.1.submit(httpRequest)2.1.1./返回用户详细信息修改界面4.1.1.submitDelOp()4.1.1.1.mssdbDelete()4.1.1.1.1./返回更新结果4.1.1.2./返回更新结果4.1.1.2.1./返回更新结果这里显示的是所有用户的姓名和概要信息列表,后面扶带着修改、删.程序与软件p 概念基础对比p 什么是程序员?p 程序员是从事程序开发、维护的专业人员。from Googlep 只要是会写程序的人都被称为程序员。p 什么是软件工程师?p 软件工程师一般指从事软件开发职业的人。from Googlep 会写程序的人不见得可以被称为软件工程师。p 例如:黑客,只能称自己是程序员,但他们却不是软件工程师。程序与软件p 概念基础对比p 程序员和软件工程师的区别p 软件工程师跟一般程序员的分别,在于一个程序员的工作是按照指定的specification来做coding,而软件工程师的工作则需要规划。不过,由于现时社会的分工愈来愈模糊,软件工程师跟程序员的分工也愈不明显。但对于严格执行CMM的机构来说,各人的工作分工也比较清晰,这有助于了解软件工程师跟一般程序员的分别。from Googlep 个人认为上面的定义不是很确切,原因如下页。程序与软件p 概念基础对比p 程序员和软件工程师的区别p 程序员不一定必须按照指定的specification来coding,很多时候会写代码的人就会被称为程序员。p 程序员的工作也需要规划,黑客采取行动之前肯定也是做了比较细致的规划工作的。p 软件工程师的工作则是必须按照specification来做coding以及相关的维护服务或者工作。p 至少因为上面几条,我个人认为google出来的这个定义不是很准确。程序与软件p 概念基础对比p 程序员和软件工程师的区别p 以前有人说中国没有软件工程师的原因:是因为中国的软件企业和研发团队都不是按照工程过程的规范来研发软件的。p 软件工程师和程序员的最大区别在于:是否是按照工程的要求来进行coding和完成相关工作。p 工程的要求就包括:规划、可研、设计、施工、初验、试运行、终验、评估等国家工程建设标准过程。对应于软件工程就包括:规划、需求工程、分析、设计、编码、测试、部署、验收、评估等。程序与软件p 概念基础对比p 程序员(Programmer)是没有分类的。p 软件工程师的分类大体如下:p 项目管理者(Project Manager)p 架构设计师(Architect Designer)p 需求人员(Requirement Capturer)p 分析人员(System Analyzer)p 设计人员(System Designer)p 编码人员(Coder or Programmer)p 测试人员(Tester or SQC)程序与软件p 概念基础对比p 软件工程师的其他分类人员:p 配置管理员(SCM)p 质量管理员(SQA)p 需求管理员(RM)p 数据库管理员(DBA)程序与软件p 实现过程对比p 程序的实现过程就是获取需求,编写代码,调试,然后投入使用/计算。p 软件的实现过程包括制定计划,获取需求,架构设计,系统分析设计,编写代码(包括调试),测试,质量管理等。p 软件工程师的分类也是由于工程本身的要求而对这个职业的从业人员进行了划分。程序与软件p 扩展支持对比p 程序员开发程序基本上没有其他支持。p 软件开发还需要如下过程或管理支持:p 计划管理(Project Plan)*p 需求管理(Require Manage)*p 变更管理(Change Manage)*p 风险管理(Risk Manage)*p 质量保证(Quality Assurance)*p 测试管理(Quality Control or Test Manage)*p 组间协作(Team Corporation)*p 同行评审(Peer Opinion)*p 程序与软件p 代码对比p 程序p float f=2.5246;p int i=f;p 或者int i=(int)f;程序与软件p 代码对比p 软件第一种写法:p float f=2.5246;p If(f 2.5)p i=(int)f;p else i=(int)f+1;p 软件的第二种写法p float f=2.5246;p i=(int)f+1;程序设计与软件开发p 程序概述p 程序实现p 设计方法p 软件实现p 软件实现VS程序实现p 实例讲解程序设计与软件开发p 程序p 能够让计算机完成所有功能实现的程序p 按照正确的输入可以得到正确的输出p 什么是好的程序p 能够判断合理的不正确输入给出相应的提示p 程序结构合理p 注释充足明确易懂p 效率和质量兼顾程序设计与软件开发p 程序实现p 重点在算法,不在结构。p 强调功能实现,而不强调功能扩展。p 重视调试,而轻视测试。p 关注编码和技巧,而不关注业务。程序设计与软件开发p 程序设计方法p 无概念编程阶段(1968)p 面向过程编程p 面向对象编程(OOP)p 面向组件编程p 面向方面编程(AOP)程序设计与软件开发p 软件实现p 重点在结构(架构),而不在算法。p 强调功能实现,也强调功能扩展。p 要求调试,更注重测试。p 规范编码,着眼于业务。程序设计与软件开发p 软件实现p 重点在结构(分层和架构),而不在算法。p 强调功能实现,也强调功能扩展。p 要求调试,更注重测试。p 规范编码,着眼于业务。p 程序实现p 重点在算法,不在结构。p 强调功能实现,而不强调功能扩展。p 重视调试,而轻视测试。p 关注编码和技巧,而不关注业务。程序设计与软件开发p 软件分层实例程序设计与软件开发p 软件架构实例程序设计与软件开发p 软件代码设计实例:User:Camera:FaceCapture:FaceControl:FaceEntity:faceInterface:msSqlServer这个是否需要有待于讨论这里应该有一个异常判断操作如果存在唯一结果,则可以直接反馈,如果不是唯一结果或者没有信息,则提示进行指纹识别。1./人接近摄像头到一定.1.1./条件触发1.1.1./进行人脸图像采集1.1.2.submit()1.1.2.1.verifyImg()1.1.2.2.record()1.1.2.4.analyseFaceReturn()1.1.2.3./将图像和参数传递给人脸识别分析模块1.1.2.3.1./获取返回信息1.1.2.4.1.submit()1.1.2.4.1.1.writeToDB()1.1.2.4.1.2./反馈数据库操作状态1.1.2.4.1.2.1.soundAlert()1.1.2.4.1.1.1.writeSysLog()1.1.2.4.1.1.1.3.mssdbClose()1.1.2.4.1.1.1.4./返回操作结果1.1.2.2.1.writeSysLog()1.1.2.4.1.1.1.1.mssdbConnect()记录识别结果。1.1.2.4.1.1.1.2.mssdbUpdate()1.1.2.2.1.1.mssdbConnect()1.1.2.2.1.2.mssdbInsert()1.1.2.2.1.3.mssdbClose()软件工程p 软件工程概述p 软件产品化软件工程p 软件工程概述p 软件工程是指导计算机软件开发和维护的工程学科,是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最合适的技术方法结合起来的实现过程。p 简单说:软件工程就是软件开发过程的工程化。软件工程p 软件工程过程相关的几个概念p 瀑布p 螺旋p 迭代p RUPp XPp CMM/CMMI软件工程p 软件工程失败的几个例子p 在Win2000下,下图中显示的是个气球。而请注意:XP下这里根本不是气球了。软件工程p 软件工程失败的几个例子软件工程p 软件工程失败的几个例子软件工程p 软件产品化p 产品化过程如下:p 提出研究方向p 课题研究p 软件产品规划(课题成果产品化过程起步)p 软件工程活动(软件产品化)和市场推广p 承接工程应用和产品销售p 根据应用和销售的反馈寻找新的研究方向软件工程p 软件产品化p 产品化过程图示如下:开始课题研究阶段立项课题研究课题验收立项课题研究课题验收产品规划阶段市场调研产品规划市场调研产品规划软件产品化阶段软件工程活动市场推动阶段初步市场活动市场拓展阶段承接工程项目正式市场活动软件工程活动数据积累反馈提升阶段新课题/方向分析初步市场活动软件工程活动承接工程项目正式市场活动软件工程活动数据积累新课题/方向分析软件工程p 软件产品化p 企业产品研发过程图示如下:开始产品规划阶段市场调研产品规划软件产品化阶段软件工程活动市场推动阶段初步市场活动市场拓展阶段承接工程项目正式市场活动软件工程活动数据积累反馈提升阶段新课题/方向分析市场调研产品规划软件工程活动初步市场活动承接工程项目正式市场活动软件工程活动数据积累新课题/方向分析软件工程p 软件产品化p 软件工程活动过程图书推荐p人件(第人件(第2版)版)p作者:美Tom DeMarco,Timothy Lister/著p译者:UMLChina/译p出版社:清华大学出版社p出版日期:2003年7月p开本:880*1230 1/32 p字数:207千字p页数:352 图书推荐p 人件第1版于1987 年出版,专门讨论了软件开发和维护团队的管理问题,并向人们的传统认识提出了挑战。p 作者在书中推崇人本管理思想,正确指出知识型企业的核心是人,而不是技术,呼吁给予软件工作者充分的自由和信任。p 本书推出后,立即在西方引起了轰动,被誉为几十年来对美国软件业影响最大的理念。图书推荐p人件集人件集人性化的软人性化的软件开发件开发 p出版社:人民邮电出版社 p作者:Larry L.Constantine p译者:谢超 刘颖 谢卓凡 李虎p出版日期:2004年2月p字数:421p开本:1/32p页数:300 图书推荐p*著名的康斯坦丁人件集的修订版p*大量的专栏文章全方位探讨软件开发中人的因素p 人件集人性化的软件开发包括了两个全新的部分:p 组织文化;p 如何让软件对象更为可用。p 这部分文章中包括了Constantine提倡的“以使用为中心”的设计方法,这是一种突破性的方法,而且有关这方面内容的文章很难见到。结束语p 最后请大家填写一下调查问卷,非常感谢。p 感谢各位来参加这次交流。演讲完毕,谢谢观看!
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!