1.软件工程安全性是功能性的还是非功能性的

要明白这个事情得先搞懂什么是功能性什么是非功能性?

1.非功能性的定义:软件产品为满足用户业务需求而必须具有且除功能需求以外的特性。

从定义我们可以看出,非功能性是比较抽象的东西,我们可以将“非功能性”理解为系统的“品质”,有时也会称为“限制”、“品质属性”、“品质目标”、“品质属性”、“品质服务需求”或“非行为性的需求”。有许多非功能性需求的英文都是以“ilitiy”结尾,例如稳定性(stability)及可移植性(portability),因此非功能性需求有时也称为“ilities”。

个人理解的非功能性具有类似性质:可嫁接,即在许多服务上都需要,例如不管什么软件什么服务安全性都很重要,可扩展性都很重要等;不具体,即不具体代表哪一类服务,而是一种品质;非功能需求源于用户的限制,包括预算的约束、机构政策、与其他软硬件系统间的互操作,以及如安全规章、隐私权保护的立法等外部因素。其实就是我们编写代码时除主要功能外,我们需要考虑的健壮性阿、可扩展性等等等等。

2.功能性即指各种具体的服务,例如收藏夹、历史记录、搜索功能等等,其实就是编写代码时我们主要想实现的功能。

所以很明显,安全性是很多功能服务中都需要的一种品质,所以是非功能性。

2.软件工程和java的联系

软件工程是设计软件的思想,JAVA是一种程序设计语言!当我们有了“软件工程”这样的思想,我们就可以用JAVA这种语言去开发软件了!

就相当于你有“去抓鱼”的思想,有“渔网 钓竿 竹篓”各种工具(相当于各种程序设计语言),出于目标的不同,你需要选择不同的最适合的工具,选完工具后,在真正“抓鱼”的过程中,你具体使用什么样的“算法”也是很关键的。

3.对软件工程在物联网的应用看法

具体的应用就有很多了,例如智能家电等等。

比较想谈谈物联网的特性以及其与软件工程之间的交集。其实物联网离不开嵌入式,但是通信与电子信息也和嵌入式有一定的结合。但通信和电子信息主要以硬件为核心,通信更注重网络,就是我们常说的协议、路由器、交换机等等;而电子信息则主要更注重于电子设计,即芯片。

而物联网主要指可编程的硬件(单片机等),其更加注重编程。电子信息和通信若涉及编程通常也是硬件逻辑编程语言,而物联网编程的一般是高级语言,例如C。这就与软件工程之间进行了结合。

物联网还在此基础上加入了物联网特有的通信,有别于光通信,电通信等等,物联网的通信主要目标是提供更好地服务,所以其一般使用WiFi、蓝牙等。使各种设备形成一个集群,就例如我们现在一整套的智能家居,人还未到家就可以开启空调关闭窗帘等等一系列操作。这就是物联网很好的应用实例。

而这一切都离不开软件工程,就上述所说,物联网主要的编程是高级语言,而软件的开发使用的也是高级语言,这样两者之间就形成了密不可分的联系。

4.简述javaee

java企业版,SUN 公司为 JAVA 程序员准备的另一个庞大的类库, 帮助程序员完成企业级项目的开发。是为开发企业环境下的应用程序提供的一套解决方案,主要针对于Web应用程序开发。

5.谈谈对软件的认识

目前对于软件定义的正确解析是:(1) 当运行时,能够提供所要求功能和性能的指令或计算机程序集合;(2)该程序能够具有满意的处理信息的数据结构;(3)  描述程序功能需求以及程序如何操作和使用所要求的文档。

2.软件的特性:软件是人类的思维结果,是逻辑部件而不是物理部件,它是通过可运行的程序,可见的文档和逻辑数据组成的。

6.面向对象和面向过程的区别

可以明显地看出,面向对象是以功能来划分问题,而不是步骤。同样是绘制棋局,这样的行为在面向过程的设计中分散在了多个步骤中,很可能出现不同的绘制版本,因为通常设计人员会考虑到实际情况进行各种各样的简化。而面向对象的设计中,绘图只可能在棋盘对象中出现,从而保证了绘图的统一。

面向过程:优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
缺点:没有面向对象易维护、易复用、易扩展。

面向对象:优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护
缺点:性能比面向过程低。

7.ER图

即实体关系图,主要有三个要素,实体属性联系。