软件工程

【软件工程】 程序编码

限于喜欢 提交于 2019-12-06 12:29:52
前言: 程序编码阶段,就是软件系统设计的一线人员—–程序员去做的,这个阶段就决定了软件的好坏,从此出现了一个好的程序员、一个好程序的概念。 一、程序编码的总原则 1、先求正确后求快 2、先求清晰后求快 3、求快不忘保持程序正确 4、保持程序整洁以求快 5、不要因效率而牺牲清晰 二、好程序的标准 1、易于测试和调试 2、易于维护 3、易于修改 4、设计简单 5、高效率 据统计,一个典型的程序的50%的执行时间被3%的语句所占用,所以这部分的代码非常重要. 三、好程序员的最基本标准 1、具有程序设计的基本知识与技能 2、对本项目所在的领域有较深的了解,正确的把握有关信息的流程与处理原则 3、熟悉开发的环境,特别是对于所用的语言,要有足够的经验 四、编码要注意的问题 1、尽可能的使用库函数 2、少用goto语句 3、一行一条语句 4、多用case语句 5、一条语句少用and、or等连接符 6、减少使用否定(如not) 7、模块化(高内聚,低耦合 单入口单出口、信息隐蔽) 8、大的程序,要分块编写,测试、然后在集成 五、程序质量的评价 1、正确性 2、结构清晰性———单入口单出口 、少用goto 3、易修改 4、容读性 5、简单性 来源: CSDN 作者: 光哥_帅 链接: https://blog.csdn.net/jerry11112/article/details/79185195

软件工程的几个步骤

青春壹個敷衍的年華 提交于 2019-12-06 12:29:37
软件工程的几个步骤[转载] 2008年01月08日 星期二 15:36 软件工程一直以来都缺乏一个统一的定义,很多学者、组织机构都分别给出了自己的定义: Boehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。 IEEE:软件工程是开发、运行、维护和修复软件的系统方法。 Fritz Bauer:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。 软件工程学的内容 软件工程学的主要内容是软件开发技术和软件工程管理. 软件开发技术包含软件工程方法学、 软件工具 和 软件开发环境 ;软件工程管理学包含软件工程经济学和软件管理学。 软件工程基本原理 著名软件工程专家B.Boehm综合有关专家和学者的意见并总结了多年来开发软件的经验,于1983年在一篇论文中提出了软件工程的七条基本原理。 (1)用分阶段的生存周期计划进行严格的管理。 (2)坚持进行阶段评审。 (3)实行严格的产品控制。 (4)采用现代程序设计技术。 (5)软件工程结果应能清楚地审查。 (6)开发小组的人员应该少而精。 (7)承认不断改进软件工程实践的必要性。 B.Boehm指出,遵循前六条基本原理,能够实现软件的工程化生产;按照第七条原理,不仅要积极主动地采纳新的软件技术,而且要注意不断总结经验。 软件工程(SoftWare

【软件工程】—程序编码

我是研究僧i 提交于 2019-12-06 12:27:44
前言 在程序编码这一章节中,印象最深的就是编写代码加注释说明和结构设计,运用了结构化设计,就能看出是否是专业的程序员,还了解了程序设计语言从汇编到高级语言,和一个好的程序应该是什么样子的呢?还有印象不深刻的就画成了思维导图,这样看到导图就能想到知识点。 语言的原则和选择 原则: 1.最少工作量原则 2.最少技巧性原则 3. 最少最错误原则 4。最少维护原则 5.减少记忆原则 选择: 1.应用领域的不同决定选择语言 2、系统用户的要求决定 3.可以使用的编译程序 4.程序员的经验和知识 5.软件可移植性要求 6.编写专用语言 7.软件的可靠性,可维护性 结构化程序设计原则 1.使用顺序,选择,重复等基本控制结构 2.尽量采用自顶向下和逐步细化 3.选用控制结构只准有一个入口和出口 4.复杂结构应该用基本控制结构进行组合嵌套 设计风格 一、源程序文档化: 1.标识符的命名 2.安排注释 3.程序的视觉组织 二、数据说明: 1.数据说明应标准化,规范化 2.当多个变量名在一个语句中说明中,按字母顺序排列 3.应该对过程和函数的形参排列有序 三、语句结构: 1.一行只写一句话 2.程序编写考虑清晰性 3.程序直接说明程序员的用意 4、编写做到清晰第一,效率第二 5.程序正确后在提高速度 7.编译程序做简单优化 8.尽可能使用库函数 9.避免不必要的转移 10。尽量使用三种控制结构

软件工程小记——编码与测试

微笑、不失礼 提交于 2019-12-06 12:27:27
第六章 编码与测试 1.程序设计语言分为两大类: 面向机器语言: 面向机器语言包括机器语言和汇编语言; 高级语言: 高级语言分为专用语言和通用语言; 2.程序设计语言的选择 理想标准、实用标准、系统用户的要求、工程的规模、软件的运行环境、可以得到的软件开发工具、 软件开发人员的知识、软件的可移植性要求。 3.软件测试 软件测试是使用人工或自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的 需求或是弄清预期结果与实际结果之间的差别。 4.测试用例设计的核心: a.要测试的内容; b.输入信息和对应的预期结果; 5.软件测试的重要性 a.寻找软件错误,以便进行修正; b.证明软件符合要求,是可用的; c.验证软件是否符合用户要求; d.指导软件的开发过程; e.提供软件的相关特征; 6.软件测试的分类 按照是否需要查看代码分类: a.黑盒测试: 黑盒测试是将被测软件看出一个黑盒子,只考虑系统的输入和输出,完全不考虑程序内部的逻辑结构和处理过程。 黑盒测试的依据是开发各阶段的需求规格说明。 b.白盒测试: 白盒测试是将黑盒子打开,研究源代码和程序内部的逻辑结构; 按照是否需要执行被测软件分类: a.静态测试: 又称为静态分析,是不实际运行被测软件,而是直接分析软件的形式和结构,查找缺陷。 主要包括对源代码、程序界面和各类文档及中间产品所做的测试。 b.动态测试:

软件工程之软件生命周期的各个阶段

百般思念 提交于 2019-12-06 12:24:40
概括地说,软件生命周期由软件定义、软件开发和运行维护3和时期组成,每个时期又进一步划分成若干个阶段。 软件生命周期共有7个阶段: 1.问题定义。 通过堆客户的访问调查,系统分析员扼要地写出关于问题性质、工程目标和工程规模的书面报告,经过讨论和必要的修改之后这份报告应该得到客户的确认。 2.可行性研究。 可行性研究的结果是客户做出是否继续惊醒这项工程的决定的重要依据,一般来说,只有投资可能取得较大效益的那些工程项目才值得继续进行下去。可行性研究以后的那些阶段将需要投入更多的人力物力。 3.在需求分析阶段确定的系统逻辑模型是以后设计和实现目标系统的基础。因此必须准确完整地体现用户的要求。这个阶段的一项重要任务,是用正式文档准确地记录堆目标系统的需求,这份文档通常称为规格说明书。 4.总体设计。 这个阶段必须回答的关键问题是:“概括地说,应该怎样实现目标系统呢?”总体设计由称为概要设计。 5.详细设计。 详细设计也称为模块设计,在这个阶段将详细地设计每个模块,确定实现模块功能所需要的算法和数据结构。 6.编码和单元测试。 这个阶段的关键任务是写出正确的容易理解、容易维护的程序模块。 7.综合测试。 这个阶段的关键任务是通过各种类型的测试使软件达到预定的要求。 来源: CSDN 作者: 代理商 链接: https://blog.csdn.net/cfx1299748113/article

软件工程——软件实现总结

心已入冬 提交于 2019-12-06 12:24:16
程序设计语言的选择。 1.编码风格: 源程序文档化 1.定义编码风格(程序设计风格、编程风 格),是指导人们编写出逻辑明清晰、 易读易懂程序的基本原则。 2.内容(1)源程序文档化:为了提高程序的可维护性,源代码也 需要实现文档化(内部文档编制)。包括: 1、符号名的命名: 2、程序注释:序言、功能等。 3、标准的书写格式: 分层缩进的写法显示嵌套结构层次。 (1)数据说明:对数据添加说明。 (2)语句结构:结构化、库函数、可读性。 (3)输入/输出(I/O):友好、方便使用。 (4)规则: A.标识符应当直观且可以拼读,可望文知意, 不必进行“解码”。 标识符最好采用英文单词或其组合,便于记 忆和阅读。切忌使用汉语拼音来命名。程序中的 英文单词一般不会太复杂,用词应当准确。 l B.标识符的长度应当符合 标识符的长度应当符合“min-length && max-information”原则。 C.:程序中不要出现仅靠大小写区分的相似的 标 符识 。l 规则4:程序中不要出现标识符完全相同的局部变量和全局变量,尽管两者的作用域不同而不会发 生语法错误,但会使人误解。规则5:变量的名字应当使用“名词”或者“形容 词+名词”。 l D.全局函数的名字应当使用 全局函数的名字应当使用“动词”或者 “动词+名词”(动宾词组)。 l E.用正确的反义词组命名具有互斥意义的变

【软件工程】--程序编码

落爺英雄遲暮 提交于 2019-12-06 12:23:13
【前言】 软件工程的编码阶段主要是由工作在一线的软件开发人员程序员和程序经理来完成的,这个阶段的主角决定着软件的质量的好坏。下面我分为两个部分来总结一下程序编码和编码后的质量评价。 (一)程序编码 编码部分根据对软工视频的理解我分为了四个方面,编码的语言、编码的结构化设计、编码的设计风格、编码的复杂性度量。 (1)程序语言 1.语言的分类导图里面已经很清晰了,但是高级语言还包括四个类型: ①系统实现语言 ②静态高级语言 ③快结构语言 ④动态高级语言 2.语言的选择原则(效率) ①最少工作量 ②最少技巧 ③最少错误 ④最少维护 ⑤最少记忆 四个词总结: 正确、清晰、整洁、快 (2)结构化程序设计 这部分的原则和内容都很简洁明了。自顶向下,逐步细化的原则 符合考虑问题的规律而且使程序模块清晰。 (3)程序设计风格 程序也是要写给别人看的,特别是测试和维护的时候是一定会检测源程序的。所以程序有一个良好的风格会方便维护和测试。除此之外还有其他方面。 (4)复杂性度量 效率是程序的一个很重要的方面,谁都不想用一个软件每点开一个功能都要等半天。所以我们有了程序的复杂性度量测试。但复杂性和正确性以及清晰程度是需要权衡和协调的,不能单单为了追求某一方面而忽视了其他。 (二)程序质量评价 程序的质量评价很容易理解,一张图胜过千言万语,依旧是拿图说话,上图: 【总结】 程序编码阶段的学习先总结到这里

软件工程阶段性总结(一)——概述

心已入冬 提交于 2019-12-06 12:22:57
现阶段正在看软工视频,大概看了十几集。第一感觉就是乱,我相信很多人第一遍看过去的时候都理不清头绪,很多的名词和图片,说的人天花乱坠。看完后感觉就像是狗熊掰棒子,掰一个扔一个,实在是让人绝望。不过还好有米老师的那句话在支撑着我,记是记不住的,你看过一遍至少有个印象。况且里面的一些知识理解不了也是正常的,这只是理论阶段的学习,后面还要写文档,等用到的时候再回过头来看一眼就可以了。随着视频集数的增加,难度也在变大,需要有前面的知识做基础,所以,阶段性的总结一下还是很有必要的。这样到最后再大总结时也不会太吃力。 (一) 第一章 软件工程学概述 第一章主要是对软件工程过程的概述,对于软件的分类,软件的特点,软件的生存周期以及软件开发的各种模型 做了简单的介绍。其中还阐述了什么是软件危机(指在计算机软件的开发和维护过程中所遇到的一系列严重问题)以 及解决软件危机的有效途径。除此之外还指明了软件工程的最高目标:以较少的投资获得易维护、易理解、可靠、高 效率的软件产品。 其中我感觉比较重要的就是软件开发模型,软件开发模型是跨越整个软件生存周期的系统开发、运行、维护所实 施的全部工作和任务的结构框架。它涵盖了软件开发的6个生存周期:制定计划、可行性研究及需求分析、软件设 计、编码、测试和维护。比较常用的模型有5中:瀑布模型、原型模型、渐增模型、螺旋模型、喷泉模型。感觉其中 最经典的就是瀑布模型那张图

软件工程阶段性总结(二)——软件计划和需求分析

自闭症网瘾萝莉.ら 提交于 2019-12-06 12:22:34
上一次总结了软工视频的第一章内容,已经从宏观上把握了软件工程开发的基本步骤:制定计划、需求分析、软件设计、编码、运行和维护。在这个基础上总结了一下第二章和第三章的知识,之所以将这两章放在一起,主要是因为它们讲的都是软件开发的第一个阶段:定义阶段。这个阶段要解决的主要问题有两个:可行性研究和需求分析。除了对于这两个主要研究要素的讲解之外,还包括了定义阶段用到的数据流图、数据字典等分析方法。 千言万语都不如一张图直接明了: 软件的定义阶段是一个软件的开始阶段,也是最重要的阶段,如果需求分析做不好,后面的软件设计和开发即使做的再好,不能满足用户的需求同样是白费力气。 一、软件计划 软件计划主要包括问题定义、可行性研究及步骤、软件计划内容、软件成本/效益评估几个部分,其中最重要的就是可行性研究。可行性研究的目的不是解决问题,而是确定问题是否值得去解决。把握了这个要点,理解起来就很容易了。可行性研究的实质是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计过程。可行性研究过程分为七步: 1、复查系统规模和目标 2、研究目前正在使用的系统 3、导出新系统的高层逻辑模型 4、向用户推荐建议方法 5、推荐行动方针 6、草拟开发计划 7、提交上机和专家审查 二、软件需求分析 可行性研究的基本目的是用较小的成本在较短的时间内确定是否存在可行的解法。而

《软件工程》——编码

拜拜、爱过 提交于 2019-12-06 12:21:03
编码的目的是使用 选定的程序设计语言 ,把模块的过程描述翻译为用 该语言书写的源程序 。源程序应该正确可靠、简明清晰,而且具有较高的效率。在编程的步骤中,要把软件详细设计的表达式翻译成为编程语言的构造,编译器接受作为输入的源代码,生成作为输出并从属于机器的目标代码,然后编译器 把输出目标代码进一步翻译成为机器代码 ,即真正的指令。 一. 导图分析 二.编码的过程与原则 (1).选择合适的语言: 实现一个大型的软件开发,可能需要选择一种或几种程序设计语言来完成。语言选择合适,会使编码困难减少,程序测试量减少,并且可以得到易读、易维护的软件。选择语言时应该考虑的因素。1 项目的应用领域 2 算法与计算的复杂性 3. 数据结构的复杂性4. 效率 5. 可移植性6. 程序设计人员的水平7. 构造系统的模式。 (2).编码的风格:编码风格即书写源程序的习惯、程序代码的逻辑结构与习惯的编程技术。一个比较大的软件在编写的时候是合作完成的。那么许多人在编写的时候不能自己用自己的风格,他们必须要有一个统一的标准。这就要求编写时代码有良好的可读性。良好的代码可读性是合作的前提,也是后期软件的维护的前提。   在编写代码的过程中,我们应该调整好语句的结构使每一个功能模块结构清晰,适当的添加注释,正确的使用标识符,可以帮助我们更好的理解程序。 (3).编码原则:高效率原则包括提高运行效率,提高储存效率