爱别离
我没基础去考的,如果你是计算机专业,就不用担心了,软件工程题目是两个论述题。别的好像是数据库、网络还有什么的选一个考的。貌似今年软院变成一级学科了,不知道题目会不会相应变难。论述题还记得题目吗?好像是说下你对软件工程的认识,都是主观题,能吹就行由于没学过软件工程基础,都是自己查书手打的,写的不对的地方希望大家都来改进啊,弄一个好的最终版本出来啊。\(^o^)/大家一起加油吧!1.谈谈结构化软件设计和面向对象软件设计的区别答:两种设计的核心均为:建模。结构化方法是计算机学科的一种典型的系统开发方法。它采用了系统科学的思想方法,从层次的角度,自顶向下的分析和设计系统。机构化开发方法有结构化分析、结构化设计和结构化程序设计三部分有机组合而成。在结构化方法中,有两大类典型方法,一类是面向过程的方法;另一类是面向数据结构的方法。面向对象方法是以面向对象思想为指导进行系统开发的一类方法的总称。这类方法以对象为中心,以类和继承为构造机制来抽象现实世界,并构建相应的软件系统。2.软件工程师应该具备的素质答:(1)公众感:软件工程人员应始终与公众利益保持一致;(2)客户和雇主:在与公众利益保持一致的原则下,软件工程人员应满足客户和雇主的最大利益;(3)产品:软件工程人员应当确保他们的产品及其改进符合尽可能高的行业标准;(4)判断力:软件工程人员应当具备公正和独立的职业判断力;(5)管理:软件工程管理者和领导者应拥护和倡导合乎道德的有关软件开发和维护的管理方法;(6)职业感:软件工程人员应当弘扬职业正义感和荣誉感,尊重社会公正利益;(7)同事:软件工程人员应当公平地对待和协助每一位同事;(8)自己:软件工程人员应当终身学习专业知识,促进合乎道德的职业实践方法。3.谈谈你对软件工程这门学科的理解答:软件工程就是用科学的知识和技术原理来定义、开发、维护软件的一门学科。软件工程目标:付出较低开发成本;达到要求的功能;缺的较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。软件工程内容:研究内容包括开发技术和开发管理两个方面。开发技术主要研究:软件开发方法、开发过程、开发工具和环境。开发管理主要研究:软件管理学、软件经济学、软件心理学。4.你认为软件开发和软件管理的关系是什么答:软件开发:是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉,需求分析,设计,实现和测试的系统工程。软件管理工作:涉及到软件开发工作的方方面面,其直接对象包括人、财、物,简单地说,人就是指软件开发人员,财就是指项目经费,物就是指软件项目。根据上述定义我认为软件开发和软件管理应该是相辅相成、形影不离的关系。一个好的软件管理能够大大减少软件开发时间,降低软件风险。而只有最终实现了软件开发,软件管理工作才会有意义。5.谈谈开源软件,比如历史、特点、未来发展等答:开源软件是一种源代码可以任意获取的计算机软件,这种软件的版权持有人在软件协议的规定之下保留一部分权利并允许用户学习、修改、增进提高这款软件的质量。历史:开放源码软件主要被散布在全世界的编程者队伍所开发,但是同时一些大学,政府机构承包商,协会和商业公司也开发它。开放源码软件在历史上曾经与UNIX,Internet联系得非常紧密。在这些系统中许多不同的硬件需要支持,而且源码分发是实现交叉平台可移植性的唯一实际可行的办法。在DOS,Windows,Macintosh平台上仅仅有很少的用户有可用的编译器,开放源码软件更加不普遍。前景:我认为开源软件将会成为未来软件开发的潮流之一。开源软件具有如下潜力:①降低风险:拥有源代码使用户可以控制那些他们的业务所赖以生存的工具;②提高软件质量:一些研究已经显示了开源软件与别的可比商业软件具有可靠性上的极大优势;③更加有效的开发模式:更多的独立同行对代码和设计的双重审查,以及大部分作者对自己作品的极大荣誉感,都对其优良的质量有所贡献。④极大的透明性:私有软件有很多“阴暗的死角”,隐藏着许多Bug。源码对于查错和理解产品工作原理来说是很重要的。⑤更好地满足用户需求:开放源码给用户极大自由,使他们能够按照自己的业务需求定制软件。⑥有利的版权许可和价格:定义为开放源码使得软件在版权许可方面比私有软件具有更大的灵活性。给用户安装软件以更大的自由度。6.什么是软件架构,谈谈软件架构设计的历史、发展及作用答:软件架构是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。历史发展:早在1960年代就已经涉及软件架构这个概念了。自1990年代以来,软件架构这个概念开始越来越流行起来。软件架构设计要达到如下的目标(作用):可靠性。软件系统对于用户的商业经营和管理来说极为重要,因此软件系统必须非常可靠。安全性。软件系统所承担的交易的商业价值极高,系统的安全性非常重要。可扩展性。软件必须能够在用户的使用率、用户的数目增加很快的情况下,保持合理的性能。只有这样,才能适应用户的市场扩展得可能性。可定制化。同样的一套软件,可以根据客户群的不同和市场需求的变化进行调整。可扩展性。在新技术出现的时候,一个软件系统应当允许导入新技术,从而对现有系统进行功能和性能的扩展。可维护性。软件系统的维护包括两方面,一是排除现有的错误,二是将新的软件需求反映到现有系统中去。一个易于维护的系统可以有效地降低技术支持的花费。客户体验。软件系统必须易于使用。市场时机。软件用户要面临同业竞争,软件提供商也要面临同业竞争。以最快的速度争夺市场先机非常重要。