ASE课程总结 by 张葳
本期ASE课程分为两个阶段,第一阶段的personal project与第二阶段的team project,其中,第一阶段旨在锻炼我们个人的问题解决能力和编程能力,第二阶段则锻炼主要我们的管理能力,合作能力,以及学习能力。总的说来在这一期的ASE课程上,我收获了很多,不仅使上述各项能力得到了锻炼,而且使我对软件的开发有了全新的认识。
这期课程中,我们小组最初想要编写一个能辅助英语学习的阅读器插件,最后伪release了一个带英语学习功能的阅读器,这其中我们经历了诸多波折。从一开始找不到合适的平台,到找到平台又找不到对应的SDK,到找到SDK有无法集成目标软件功能,到重新选择最终平台,每一次困难都几乎使我们放弃这个项目。不过好在,在ASE结课之前,我们终于完成了一个还看得过去的版本。这次的课程让我们对软件开发整体有了深刻的认识,所犯下的错误也为今后的开发积累了宝贵的经验。下面对这一次的项目做一个简要的小结。
Q:
小组的目标软件是什么?目标用户是什么?
A:
我们小组想开发一个能在英语阅读时候辅助英语学习的UWP平台下的pdf阅读器插件。该插件可以在英文文章阅读时实现查词,显示释义,添加注释,加入单词本,高亮生词等功能,以辅助英语学习。面向用户为上班族,学生,以及有经常阅读文献需要的用户。
Q:
你们的任务是怎样规划的?时间又是如何安排的?
A:
我们小组共五人分别完成产品的三个部分,由于我们产品的两个主要外部依赖,Bing词典接口和Foxit阅读器接口都需要阅读相关的资料及API参考,并与原产品团队进行沟通,因此有额外的工作量,因此分别分派了两人完成,剩下的程序主体一人完成。时间上在alpha版就完成所设计的所有功能,在beta版完成调试,美化等功能。
Q:
你们是否有按照计划完成?是否遇到过困难?
A:
严格来讲我们并没有按照计划完成。在alpha版阶段,与Foxit沟通消耗了大量时间,其后又由于win32平台与UWP平台兼容性的问题,我们的工作一度停滞。因此alpha版我们几乎没有完成什么功能。则导致我们在beta版几乎重做了大部分工作。在整个工程中,与不同软件接口交互是最大的困难。至于最终我们也没有解决版权等问题。
Q:
你们是否完成了一个可以使用的版本?
A:
理论上说是的,我们实现了所有计划应有的功能,给出了一个相对稳定的版本,并在小范围内进行了试用体验,收了好评吧,应该……除了美工上略有不足,已经基本达到了预期的目标。
ASE课程总结 by 张葳的更多相关文章
- ASE课程总结 by 冯晓云
开始的开始,采访往届ASE班的blog:http://www.cnblogs.com/legs/p/4894362.html 和北航软工M1检查:http://www.cnblogs.com/legs ...
- ASE课程总结 by 林建平
设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的辅助用户在阅读英文文献时记忆生词,提高用户的生词量,减少用户的阅读障碍.定义非常清晰,要有查 ...
- ASE课程总结 by 朱玉影
收获: 最大的收获应该就是对待选题要慎重吧,虽然前期做了一下调研,但是还是不够,所以到最后我们的项目才会不能公开发布,项目中间也是波折不断,导致我们走了很多弯路,浪费了很多时间吧.选题一定要慎重,慎重 ...
- ASE past project:interview & analysis
采访往届ASE课程学员李潇,他所在的团队blog戳这里http://www.cnblogs.com/smart-code/ Q1:师兄你觉得在团队项目中,有哪些需要注意的事情? A1:团队合作吧.首先 ...
- ASE team work proposal
Hi,我们是Azure Wrapper,欢迎来到我们的blog~我们将在这里记录下ASE课程的滴滴点点,美妙的旅程就要开始啦! 以下是每位队员提交的关于ASE 团队项目的提议: 朱玉影: 随着信息时代 ...
- [视频解说]0基础课程-运营商-Java它J2se
本节解说 运营商应用 Java 算被分成: 算术运算符 颂值运营商 逻辑运算符 位运算符 元运算符 这里录制了 视频解说这几大类运算符,并有练习题提供大家 面试题: 1. 最有效率的方式算出2乘以8等 ...
- 【课程分享】基于plusgantt的项目管理系统实战开发(Spring3+JDBC+RMI的架构、自己定义工作流)
基于plusgantt的项目管理系统实战开发(Spring3+JDBC+RMI的架构.自己定义工作流) 课程讲师:张弘 课程分类:Java 适合人群:中级 课时数量:37课时 用到技术:Spring ...
- 公共语言运行库(CLR)开发系列课程(1):Pinvoke 简介 学习笔记
前言 让拖管代码对象和非托管对象协同工作的过程称为互用性(Interoperability),通常简称为 Interop. P/Invoke在托管代码与非托管代码交互式时产生一个事务(Transiti ...
- Android训练课程(Android Training) - 高效的显示图片
高效的显示图片(Displaying BitmapsEfficiently) 了解如何使用通用的技术来处理和读取位图对象,让您的用户界面(UI)组件是可响应的,并避免超过你的应用程序内存限制的方式.如 ...
随机推荐
- python-模块的发布和安装
当我们 import python 模块时,默认先在当前路径搜索,如果当前路径找不到目标模块,python会到安装目录找,还找不到则抛出异常. 如果我们想让自己写的模块,能跟系统自带模块一样,在任何地 ...
- 使用Eclipse开发python
第一步:下载python插件http://sourceforge.net/projects/pydev/files/pydev/PyDev%204.1.0/第二步:在Eclipse上安装插件a.假设E ...
- 控制台报错Cause: org.xml.sax.SAXParseException; lineNumber: 4; columnNumber: 78; 元素类型 "select" 必须后跟属性规范 ">" 或 "/>"
首先我的控制台报错是这样的,我找了一下原因看到是第四行的错误: 它说元素select后面必须跟属性规范">""/>"但是我把我眼睛都快丑瞎了都没发现 ...
- intern()方法的使用
intern() intern方法的作用是:如果字符串常量池中已经包含一个字符串等于此String对象的字符串,则返回常量池中的这个String对应的对象, 否则将其添加到常量池并返回常量池中的引用. ...
- 字节转换函数 htonl*的由来与函数定义...
字节转换字符由来: 在网络上面有着许多类型的机器,这些机器在表示数据的字节顺序是不同的, 比如i386芯片是低字节在内存地址的低端, intel处理器将32位的整数分4个连续的字节,并以字节序1-2- ...
- 多GPU使用详解
目录: 介绍 记录设备状态 手动分配状态 允许GPU内存增长 在多GPU系统是使用单个GPU 使用多个 GPU 一.介绍 在一个典型的系统中,有多个计算设备.在 TensorFlow 中支持的设备类型 ...
- Prism 源码解读6-事件聚合
0 介绍 事件提供的是1对多的绑定,通过委托链实现对订阅者的调用,事件必须要通过发布者调用.同时事件订阅是强引用,事件订阅者的生命周期总是大于等于事件发布者.如果代码中事件很多就会充斥着各种事件的订阅 ...
- SQL实战(四)
一. 题目描述 将employees表的所有员工的last_name和first_name拼接起来作为Name,中间以一个空格区分CREATE TABLE `employees` ( `emp_no` ...
- CSS躬行记(2)——伪类和伪元素
一.伪类选择器 伪选择器弥补了常规选择器的不足,能够实现一些特殊情况下的样式,例如在鼠标悬停时或只给字符串中的第一个字符指定样式.与类选择器类似,可以从HTML元素的class属性中查看到,但伪选择器 ...
- python之xlrd和xlwt模块读写excel使用详解
一.xlrd模块和xlwt模块是什么 xlrd模块是python第三方工具包,用于读取excel中的数据: xlwt模块是python第三方工具包,用于往excel中写入数据: 二 ...