设计理念基于美团APP的页面布局,界面下方分为首页(推送所需要的水果信息)、省钱好货(优惠福利界面)、消息(暂未开发此模块)、我的(看到用户自己的订单)
软件部署对软件设计的影响
项目基于Windows10系统(不向下兼容),配置环境变量JDK,配置JRE,由于使用IDEA(Java),所以通过jconsole观察堆内存使用量,CPU使用率
用户手册
以后台管理员操作说明为例,
管理员登陆
功能概述:管理员登录窗口:管理员通过该步进入系统
操作方法:输入IP地址,输入用户名和密码,点击登录进入查看用户订单选择页面
面向对象的核心思想和局限性
同构性问题:
用户体验与需求分析
基本需求触发:我是12公寓的xxx,想要吃水果,懒得下楼,谁帮我让我足不出户,吃水果?
软件项目管理的体会
第一,相信团队合作才可能把项目做到最好。
从整个项目的过程来看,团队合作中需要沟通、分工、协作和监督。只有做好这四项才算是一个好的合作团队。首先,团队合作最基本的技能就是沟通。 第二,要详细制定计划,并严格按照计划来执行。
这次的项目周期很短,因此计划就显得格外的重要,只有进行详细的计划,我们才有紧迫感,并要求自己抓紧时间完成当天的任务。对比去年的软件工程课,那个项目与这个项目的规模差不多,但是开发周期是真个学期,每个阶段都显得很长,就算制定了一个计划,也没有按照那个计划来,拖个几天是很正常的,今天不能完成明天做,因为有的是时间,这样越来越松懈,就把大量的任务往后压,到最后就拿质量换时间了。
软件体系结构的意义
体系结构,一般来说与需求密切相关的;明确的需求可以指定明确的软件规格,越明确的规格设计的架构越清晰
测试时期,记录体系结构导致的问题,以便借鉴,使得开发人员可review整个架构
软件工程产生背景
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。
软件工程诞生于60年代末期,它作为一个新兴的工程学科,主要研究软件生产的客观规律性,建立与系统化软件生产有关的概念、原则、方法、技术和工具,指导和支持软件系统的生产活动,以期达到降低软件生产成本 、改进软件产品质量、提高软件生产率水平的目标。软件工程学从硬件工程和其他人类工程中吸收了许多成功的经验,明确提出了软件生命周期的模型,发展了许多软件开发与维护阶段适用的技术和方法,并应用于软件工程实践,取得良好的效果。
软件工程的兴起是为了解决软件危机的出现,(软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。)
危机实例:美国银行信托软件系统开发案
风格与开发效率
1、理清业务逻辑、清楚的知道怎么实现功能、要用什么控件、算法,可以的话用思维导图整理,最后在去写代码实现、测试、验证是否完善。
这样做的原理在于:当我们脑海中有明确的画面时,去把画面呈现还原是很简单的。人执行力强的原因就在于在执行过程中不存在未知、不确定因素,一切都是已知的,哗哗地去干就自然执行力强了。
在写代码时,当你全部清楚所有的代码怎么写,把它写出来是很easy的事情。俗话说磨刀不误砍柴工。
2、在用vuejs做前端组件化开发时,父组件传给子组件的对象尽可能的少,可以的话最多只传一个对象,在子组件中在进行对象的一系列的操作。
项目开发中各角色之间的关系
基本项目:为宿舍送水果的app
基本需求触发:我是12公寓的xxx,想要吃水果,懒得下楼,谁帮我让我足不出户,吃水果?
项目/产品经理:联系客户以后,分析需求,告知设计师,开发经理
设计师:对于软件蓝图由我来规划
开发经理:让开发人员写代码吧
测试经理:让测试人员写测试开发人员的代码,设计增量迭代,黑盒白盒测试用例,测试过程中要不断和其他经理沟通
测试人员与开发人员积极与经理沟通,提出问题,加班的问题提了就是996
软件测试在软件开发各阶段的体现
需求分析阶段
在需求分析阶段,我作为软件测试人员参与需求开发的整个过程,审查宿舍送水果项目的用户需求和需求规格说明书。通过这些活动可以尽早地熟悉和掌握整个软件系统需求,对需求的可实现性和可测试性做出确认。在这个阶段的后期,测试人员可以开始测试计划的编写,确定测试项,规划测试进度。
设计阶段
在设计阶段,主要职责是评审软件设计说明。测试人员对软件设计说明的评审要点包括:
设计是否覆盖所有的软件需求;
设计是否覆盖所有的软件需求;
设计是否在技术上可实现;使用JDK1.8,SpringMVC可实现
设计是否具有可测性和可维护性;AOP面向切面编程
设计是否具有用户友好性。界面图标清晰直观。
设计是否在技术上可实现;
设计是否具有可测性和可维护性;
设计是否具有用户友好性。
编码阶段
在编码阶段,测试人员要完成测试用例的设计,并且让测试用例通过评审。
测试阶段
在测试阶段,测试人员的工作最为繁重,具体包括搭建测试环境,准备测试数据,执行软件测试,记录并上报软件缺陷,协助开发人员修复缺陷,对修复缺陷后的软件进行回归测试,对缺陷数据进行分析,编写软件测试报告。
PS:对于单元测试和集成测试,一般由开发人员完成,测试人员可以进行指导。