㈠ 领导让写个逻辑出来给软件工程师看
工程师的逻辑就是你需要什么样的数据,需要的流程每一步数据是怎么样变化的?把这种东西能够表示出来就可以了,如果专业一点,就用产品经理用的软件axure。这个是做交互见面的,工程师看到就明白了。
㈡ 软件工程的题求解答~!
只知道这些:
1.B
2.A
7.A
㈢ 软件工程中有无逻辑图的概念对某种算法的具体流程描述应该叫什么
逻辑是总体思路 流程图是具体操作步骤
㈣ 重构的概念是什么
指对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果。
软件重构需要借助工具完成,重构工具能够修改代码同时修改所有引用该代码的地方。在极限编程的方法学中,重构需要单元测试来支持。
在软件工程学里,重构代码一词通常是指在不改变代码的外部行为情况下而修改源代码,有时非正式地称为“清理干净”。
在极限编程或其他敏捷方法学中,重构常常是软件开发循环的一部分:开发者轮流增加新的测试和功能,并重构代码来增进内部的清晰性和一致性。自动化的单元测试保证了重构不至于让代码停止工作。
(4)软件工程的逻辑重构扩展阅读:
重构面对业界调适接受方面的挑战。首先,对重构长远的影响需要更深入研究追踪。又,重构存于资料库轮廓(database schema)的商业逻辑层几乎是不可能或者非常困难的。最后,对接口造成影响的重构可能造成程序开发上的困境,除非程序员有对所有用户界面的访问权。
例如,程序员若改变某实体中的方法名称,他要么必须对整个专案里头所有链接到旧名的参考都加以编辑,要么屈服于继续维护使用旧名的残株残瓦接口。而该旧名的接口于内部调用该方法的新名。
㈤ 网上都说学软件工程需要很强的数学逻辑思维能力,是指的什么
一看就是不懂软件工程和数学的胡扯的!!
软件工程需要的数学比 计算机其他的都低,
软件工程主攻编程, 做界面, 网页什么的, 逻辑需求不高!!
㈥ 软件工程的结构化方法是什么
结构化分析方法(Structured Method)是强调开发方法的结构合理性以及所开发软件的结构合理性的软件开发方法。结构是指系统内各个组成要素之间的相互联系、相互作用的框架。结构化开发方法提出了一组提高软件结构合理性的准则,如分解与抽象、模块独立性、信息隐蔽等。针对软件生存周期各个不同的阶段,它有结构化分析(SA)、结构化设计(SD)和结构化程序设计(SP)等方法。
结构化分析方法给出一组帮助系统分析人员产生功能规约的原理与技术。它一般利用图形表达用户需求,使用的手段主要有数据流图、数据字典、结构化语言、判定表以及判定树等。
结构化分析的步骤如下:①分析当前的情况,做出反映当前物理模型的DFD;②推导出等价的逻辑模型的DFD;③设计新的逻辑系统,生成数据字典和基元描述;④建立人机接口,提出可供选择的目标系统物理模型的DFD;⑤确定各种方案的成本和风险等级,据此对各种方案进行分析;⑥选择一种方案;⑦建立完整的需求规约。
结构化设计方法给出一组帮助设计人员在模块层次上区分设计质量的原理与技术。它通常与结构化分析方法衔接起来使用,以数据流图为基础得到软件的模块结构。SD方法尤其适用于变换型结构和事务型结构的目标系统。在设计过程中,它从整个程序的结构出发,利用模块结构图表述程序模块之间的关系。结构化设计的步骤如下:①评审和细化数据流图;②确定数据流图的类型;③把数据流图映射到软件模块结构,设计出模块结构的上层;④基于数据流图逐步分解高层模块,设计中下层模块;⑤对模块结构进行优化,得到更为合理的软件结构;⑥描述模块接口。
㈦ 软件工程有哪些原则
1、量两次,切一次(Measure twice and cut once)
如果你只能从这篇文章中学到一个原则且最重要的一个,那么就是这个。 开发人员,架构师和经理人经常因为个人情绪、以及其他问题而难以集中注意力。
就工程师来说,这个原则意味着选择正确的解决方案,选择正确的方法来解决问题,选择正确的工具来解决问题,对建立的解决方案必须充满信心。
选择这里意味着投入一些思考,找到必要的资源,组建合适的团队,思考设计,思考方法,设定任务,控制结果,并为此承担责任。 这就是“活在当下”。 我认为我自己还没有准备好用正确的词汇来描述它。
2、不要重复自己(Don't Repeat Yourself)
这是一个相当简单但非常有用的原则,它说在不同的地方重复同样的事情是非常糟糕的。 首先,它涉及到进一步支持和修改代码的必要性。 如果某个代码片段在程序中的几个地方被复制,那么很有可能出现两种灾难性的情况:
当对源代码进行哪怕是很小的改动时,您需要在几个地方更改相同的代码。 这需要额外的时间、精力和注意力,而这件事件通常也非常不容易。
第一项紧随第二项。 团队中的其他开发人员可能会意外地错过其中一个更改(只合并了控制系统中的分支) ,并将面对应用程序中随后出现的一系列错误。 这些 bug 可能会让您感到沮丧,因为您已经听说这样的 bug 似乎已经被修复了。
在这方面,有一个建议ーー如果在清单中发现任何代码超过两次,则应以单独的方式来处置。 这是通用做法。 事实上,即使再次遇到重复的bug,您也应该考虑创建一个单独的方法。
3、奥卡姆剃刀(Occam’s Razor)
这是一个非常普遍的想法,它来自于哲学编程。 这个原则得名于奥克姆的英国修道士威廉。 这一原则表明: ”没有必要,不得增加实体”。
在工程学中,这一原则被解释为: 没有必要创建不必要的实体。 因此,首先考虑添加另一个方法 / 类 / 工具 / 流程等的好处不见得总是一个好主意。 毕竟,如果您添加了另一个方法 / 类 / 工具 / 流程等等,除了增加复杂性之外,您没有得到任何其他好处,那还有什么意义呢?
4、保持足够简单(Keep It Simple Stupid )
这是一个与上面非常类似的原则,但它的含义略有不同。 这个原则要求代码必须尽可能简单,不能有复杂的结构,否则会使代码的调试和维护复杂化。
此外,对于另一个程序员来说,理解代码的逻辑将会更加困难,这反过来也将需要额外的时间和精力。 这就是为什么您应该始终尝试使用简单的构造来尽可能多地解决问题,而不需要使用大量的分支、深层嵌套和过度重载的类结构。
通过这样做,你将使自己和同事的生活更加轻松,因为复杂性会产生错误。 记住 Peter Hintiens 说过的话: “简单永远比功能好”。
5、你不会需要它(You Aren’t Gonna Need It )
这是许多程序员都会遇到的问题。 从项目一开始就希望立即实现所有必要的(有时甚至是不必要的)功能。 也就是说,当开发人员从一开始就将所有可能的方法添加到类中并实现它们时,甚至可能在未来永远不会使用它们。
因此,根据这个建议,首先,只实现您需要的东西,然后,如果必要的话,再扩展相应功能。 这样,您就可以节省调试代码的工作量、时间以及精力,而实际上这些代码却并不需要。
㈧ 软件工程导论 什么是需求分析在需求分析阶段,建立目标系统的逻辑模型的具体做法
所谓"需求分析",是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,在软件工程当中的“需求分析”就是确定要计算机“做什么”。
具体做法:首先确定目标系统与当前系统的逻辑差别;然后将变化部分看作是新的处理步骤,对功能图及对象图进行调整;最后由外及里对变化的部分进行分析,推断其结构,获得目标系统的逻辑模型。通常用数据流图、数据字典和主要的处理算法描述这个逻辑模型