1、什么是软件工程
软件工程是一门研究用工程方法构建和维护有效的、实用的和高质量的软件的学科。涉及许多方面的知识,包括但不限于程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等
现代社会中,软件应用于多个方面。典型的软件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等等。
2、软件工程的目标
在给定成本、九年度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性以及满足用户需求的软件产品。
3、如何评价软件工程能力的高低
(1)是否具备扎实的专业能力
具体来说,一名软件行业从业者应当掌握多门程序设计语言,囊括不同程序设计思想的最佳,面向过程,面向对象都能够有所涉及。其次是算法以及数据结构,两者的结合构成了程序的核心,因此是否对基本数据结构,稍高级的数据结构能够熟练运用,也是评判软件工程能力高低的标准之一。
除此之外,对于计算机学科的知识也应当有相当程度的掌握,编译原理,组成原理,操作系统等是编写程序时能够进行优化的根基。
(2)是否具备优秀的沟通能力
具体在工作之中,工程项目往往是多人协作的过程,因此,合格的软件开发者还能够在项目中做到与同事进行良好沟通,积极提出自己对于产品的建议以及看法。并在开发过程中对自己的代码负责,包含关键注释,编写接口以及文档前,与接口调用者确认接口设置是否合理等。
(3)是否具备持续自主学习的能力
电子科技的发展日新月异,尤其是当前AI技术飞速的发展,新技术层出不穷,每一项技术可能没过多久就会被淘汰,这就要求开发人员有求知欲,有好奇心,能够在工作之余始终保持对于新鲜事物的热忱,能够主动学习新技术,并将其运用到开发流程中。并适时梳理自己的知识结构,学会自省。
试题:
1、时序图与(D)是同构的,它反映对象之间发送消息的时间顺序。
A、用例图 B、类图 C、活动图 D、协作图
2、(D)是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
A、软件过程 B、软件测试 C、软件生存周期 D、软件工程
考察软件工程的内涵
3、软件生存周期模型有多种,下列选项中(C)不是软件生存周期模型。
A、螺旋模型 B、增量模型 C、功能模型 D、瀑布模型
4、从结构化的瀑布模型来看,在软件生命周期的8个阶段中,下面的几个选项中哪个出错对软件的影响最大?
(C)
A、详细设计阶段 B、总体设计阶段 C、需求分析阶段 D、测试和运行阶段
5、 需求分析最终结果是产生( B )
A、 项目开发计划 B、 需求规格说明书 C、 设计说明书 D、 可行性分析报告
6、在可行性分析中,系统流程图用于描述(A)
A、当前运行系统 B、当前逻辑模型 C、目标系统 D、新系统
简答题
1、什么是工厂模式?工厂模式有哪几种?
工厂模式专门负责实例化有大量公共接口的类。工厂模式可以动态块决定将哪一个类实例化,而不必事先知道每次要实例化哪一个类。客户类和工厂类是分开的。消费者无论什么时候需要某种产品,需要做的只是向工厂提出请求即可。消费者无须修改就可以接纳新产品。当然也存在缺点,就是当产品修改时,工厂类也要做相应的修改。
工厂模式包括三种:简单工厂模式,工厂方法模式,抽象工厂模式
2、在需求分析阶段,建立目标系统的逻辑模型的具体做法是什么?
系统流程图是描述物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里的每个部件(程序、文件、数据库、表格、人工过程等)。系统流程图表达的是部件的信息流程,而不表示对信息进行加工处理的控制过程。
3、软件的质量反应为哪些方面的问题?
软件需求是度量软件质量的基础,不符合需求的软件就不具备质量。
在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软件。如果不遵守这些开发准则,软件质量就得不到保证。
往往会有一些隐含的需求没有明确地提出来。如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也不能保证。
软件质量是各种特性的复杂组合。它随着应用的不同而不同,随着用户提出的质量要求不同而不同。
4、试举例说明聚集关系中共享聚集和组合聚集有何不同?
如果在聚集关系中部分对象可同时参与多个整体对象的构成,则该聚集称为共享聚集。例如,一个课题组包含许多成员,每个成员又可以是另一个课题组的成员,则课题组和成员之间是一种共享聚集的关系。
如果部分对象完全隶属于整体对象,并与整体对象共存,则该聚集称为组合聚集。例如,在屏幕上一个窗口由文本框、列表框、按钮和菜单等构成,且一旦关闭了窗口,则各组成部分也消失,则窗口和它的组成部分之间的关系为组合聚集关系。
5、清除下列伪码中的GOTO语句,使其成为等价的标准的结构化程序
START
LOOP1:
IF C1 THEN
B1
LOOP2:
IF C2 THEN
B2
GO TO LOOP 2
END IF
GO TO LOOP1
END IF
STOP
答案:
START
WHILE C1 DO
B1
WHILE C2 DO
B2
END DO
END DO
STOP
填空题
1、在学校中,一个学生可以选修多门课程,一门课程可以有多个学生选修,那么学生和课程之间是关联关系。
2、类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是依赖关系
3、用例及其协作之间是实现关系
4、接口及其实现类或构建之间是实现关系
5、动物与老虎之间是泛化关系