山东大学软件学院2022-2023第二学期移动互联网开发技术期末考试回忆版
前言
1、考试时间:2023/6/6 10:10 – 12:10
2、考试科目:移动互联网开发技术(老师:LiXin)
3、考题语言:中文
4、考试形式:闭卷
5、考后感悟:大多是往年题,但是博主感觉自己答题不是很规范,特别是最后的接口设计题,如果有勇敢的同学,可以问下老师怎么写比较规范。
6、个人复习笔记:
移动互联网开发期末复习【FlowUs 息流】
访问密码 KeAi
(小可爱hhh)
一、写出微信小程序的优缺点(10’)
优点:开发难度小;开发成本低;维护成本低;无需下载安装;手机内存占用少;借助于微信,推广运营成本低;升级更新更容易;不需要考虑跨平台兼容问题
缺点:拓展性弱;功能相对有限;交互性不是很好;用户忠诚度低;用户体验相对较差;
二、原型设计时需要做那些设计?请以一个有注册、登录、首页、我的功能的APP为例说明设计流程。(10’)
在进行原型设计时,需要考虑以下几个方面的设计:
1.用户需求分析:了解用户的需求和期望,确定产品的功能和特性。
2..信息架构设计:设计产品的信息结构,包括页面布局、导航、标签等。
3.交互设计:设计用户与产品之间的交互方式,包括界面元素的交互、动画效果等。
4.视觉设计:设计产品的视觉风格,包括色彩、字体、图标等。
5.响应式设计:考虑不同设备和屏幕尺寸下的适配问题,确保产品在不同设备上都能正常显示和使用。
6.测试和迭代:进行原型测试,收集用户反馈,不断优化和改进产品设计.
以一个有注册、登录、首页、我的功能的APP为例:
………………此处 省略***字
三、从软件工程的角度,写出移动互联网程序和后台管理系统的开发步骤,各自的作用。(10’)
1. 需求分析:获取用户需求,完成《软件需求规格说明书》(SRS)以及思维导图,设计原型便于客户确定自己的完整需求。
2. 系统设计:系统框架的设计。
3. 程序设计:包括模块功能算法、接口设计、数据库设计。
4. 软件开发:编程和debug完成开发。
5. 单元测试:模块功能测试与性能测试。
6. 集成测试:按照结构图进行测试。
7. 系统测试:按照《软件需求规格说明书》对系统总体功能进行测试。
8. 系统提交:向客户交付产品。
9. 系统维护:寻找故障并满足新需求。
四、请写出小程序目录下的文件类型及作用。(10’)
1. pages/xxx/xxx.js : 页面逻辑文件。响应用户的点击;调用 API;处理用户的操作;获取用户的位置;
2. pages/xxx/xxx.json:页面配置文件。配置小程序的页面路径、窗口样式、导航栏样式、底部tab等。
3. pages/xxx/xxx.wxml:页面结构文件。和 HTML非常相似, 由标签、属性等构成,描述当前这个页面的结构。
4. pages/xxx/xxx.wxss:页面样式文件。和CSS相似,配置wxml中的样式。
5. app.js:小程序的逻辑文件,包含小程序的生命周期函数、全局变量和函数等。
6. app.json:小程序的全局配置文件,包含小程序的所有页面路径、界面表现、网络超时时间、底部 tab 等。
7. app.wxss:小程序的全局样式文件,包含小程序的公共样式。
8. project.config.json是小程序项目的配置文件,用于配置小程序的一些项目属性,如appid、开发者信息等。
五、请画图表示小程序应用的生命周期,说明各个声明周期的调用条件及次序,并写出各个生命周期函数的作用。(10’)
注意:需要注意的是,这里是小程序应用的生命周期,不是页面生命周期。在pdf4【小程序框架.pdf】上可以找到。
1.onLaunch: 监听小程序初始化
2.onShow: 监听页面显示
3.onHide: 监听页面隐藏
六、在一个js文件中要调用另一个js文件中的函数要怎么做,请写出相关代码例子。
利用模块化,在被调用的js文件中使用module.exports或者exports对外提供接口,然后在需要调用该函数的js文件中使用require引入被调用的函数。
如下方的代码中,test.js需要调用utils目录下的common.js文件中的sayHello函数以及sayGoodbye函数,相关代码如下:
七、访问http://sdu.edu.cn/getAllBuildings接口,得到如下数据,要求将数据完整展示在小程序页面上,并要求Campus ID=5,请写出wxml和js文件的相关代码。(15分)
data:[
retcode:0000,//retcode=0000代表返回正常,否则请求参数异常
data:[
{
id:1,
images:['/image/xxxxx.png'],
title:'山东大学中心校区建立于1990年,是一座……(此处省略100字)'
},
…………//此处有省略
{
id:100,
images:['/image/xxxxxxx.png','/image/xxxxxxx.png'],
title:'山东大学齐鲁软件学院…………'
},
]
]
答:
wxml:
<view class="list">
<block wx:for="{{data}}" wx:key="id">
<view>{{item.id}}</view>
<view>{{item.title}}</view>
<view class="images">
<block wx:for="{{item.images}}" wx:key="index">
<image src="{{item}}"></image>
</block>
</view>
</block>
</view>
js:
Page({
data: {
data: []
},
onLoad: function () {
wx.request({
url: 'http://sdu.edu.cn/getAllBuildings',
success: res => {
if (res.data.retcode === '0000') {
if(res.data.id ==='5'){
this.setData({
data: res.data.data
})
}
} else {
wx.showToast({
title: '请求参数异常'
})
}
},
fail: () => {
wx.showToast({
title: '网络异常'
})
}
})
}
})
八、设计题(25‘)
1、有一个疫苗预约系统,由小程序、后台管理网站、数据库组成。
2、小程序功能:用户注册、登录、可预约时间查看、预约/取消预约、接种历史查询。(各部分功能可扩展设计)
3、后台管理系统功能:用户管理、可预约时间管理、预约管理、接种历史管理、统计分析。
4、用户登录成功后,使用token验证身份信息。
设计小程序端和后台管理网站的后端接口(包括接口路径、接口名称、入口参数、出口参数)
答:
注:这道题写起来实在太多了,而且博主感觉自己写的也不是很规范,就浅浅给出两个吧。(勇敢的同学可以问一下老师这样是否规范,然后告诉我,hhh)
1.用户注册:
接口路径:api/user/register
接口名称:UserRegisterAPI
入口参数:
参数 | 类型 | 是否为空 | 描述 |
---|---|---|---|
phone | num | 否 | 用户注册手机号 |
validation | string | 否 | 验证码 |
password | string | 否 | 密码 |
出口参数:
参数 | 类型 | 描述 |
---|---|---|
msg | string | “执行成功"或"执行失败” |
code | num | 状态1:成功;状态0:失败 |
data | 返回数据 |
2.用户登录:
接口路径:api/user/login
接口名称:UserLoginAPI
入口参数:
参数 | 类型 | 是否为空 | 描述 |
---|---|---|---|
phone | num | 否 | 用户注册手机号 |
password | string | 否 | 密码 |
出口参数:
参数 | 类型 | 描述 |
---|---|---|
msg | string | “执行成功"或"执行失败” |
code | num | 状态1:成功;状态0:失败 |
token | string | 用户token |
…………此处省略很多字
结尾
本次考试总体而言还是比较简单的,大多是往年题,在备考的同学可以把这几年往年题做一下就差不多了。另外,关于最后的接口设计题,比较麻烦,建议考前问一下老师怎么规范地写。
注:以上试题答案均个人见解,欢迎讨论。
历年题推荐
2020年山东大学李新老师移动互联网开发考试回忆版
2021年山东大学软件学院移动互联网开发技术期末考试回忆版
点 个 赞 呗 ~
点 个 赞 呗 ~
点 个 赞 呗 ~