本期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 张葳的更多相关文章

  1. ASE课程总结 by 冯晓云

    开始的开始,采访往届ASE班的blog:http://www.cnblogs.com/legs/p/4894362.html 和北航软工M1检查:http://www.cnblogs.com/legs ...

  2. ASE课程总结 by 林建平

    设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们的辅助用户在阅读英文文献时记忆生词,提高用户的生词量,减少用户的阅读障碍.定义非常清晰,要有查 ...

  3. ASE课程总结 by 朱玉影

    收获: 最大的收获应该就是对待选题要慎重吧,虽然前期做了一下调研,但是还是不够,所以到最后我们的项目才会不能公开发布,项目中间也是波折不断,导致我们走了很多弯路,浪费了很多时间吧.选题一定要慎重,慎重 ...

  4. ASE past project:interview & analysis

    采访往届ASE课程学员李潇,他所在的团队blog戳这里http://www.cnblogs.com/smart-code/ Q1:师兄你觉得在团队项目中,有哪些需要注意的事情? A1:团队合作吧.首先 ...

  5. ASE team work proposal

    Hi,我们是Azure Wrapper,欢迎来到我们的blog~我们将在这里记录下ASE课程的滴滴点点,美妙的旅程就要开始啦! 以下是每位队员提交的关于ASE 团队项目的提议: 朱玉影: 随着信息时代 ...

  6. [视频解说]0基础课程-运营商-Java它J2se

    本节解说 运营商应用 Java 算被分成: 算术运算符 颂值运营商 逻辑运算符 位运算符 元运算符 这里录制了 视频解说这几大类运算符,并有练习题提供大家 面试题: 1. 最有效率的方式算出2乘以8等 ...

  7. 【课程分享】基于plusgantt的项目管理系统实战开发(Spring3+JDBC+RMI的架构、自己定义工作流)

    基于plusgantt的项目管理系统实战开发(Spring3+JDBC+RMI的架构.自己定义工作流) 课程讲师:张弘 课程分类:Java 适合人群:中级 课时数量:37课时 用到技术:Spring  ...

  8. 公共语言运行库(CLR)开发系列课程(1):Pinvoke 简介 学习笔记

    前言 让拖管代码对象和非托管对象协同工作的过程称为互用性(Interoperability),通常简称为 Interop. P/Invoke在托管代码与非托管代码交互式时产生一个事务(Transiti ...

  9. Android训练课程(Android Training) - 高效的显示图片

    高效的显示图片(Displaying BitmapsEfficiently) 了解如何使用通用的技术来处理和读取位图对象,让您的用户界面(UI)组件是可响应的,并避免超过你的应用程序内存限制的方式.如 ...

随机推荐

  1. P1361 小M的作物 【网络流】【最小割】

    题目描述 小M在MC里开辟了两块巨大的耕地A和B(你可以认为容量是无穷),现在,小P有n中作物的种子,每种作物的种子有1个(就是可以种一棵作物)(用1...n编号). 现在,第i种作物种植在A中种植可 ...

  2. hdu3336 Counting the string kmp的next数组的应用

    题目链接:http://icpc.njust.edu.cn/Problem/Hdu/3336/ 题意就是要求一个字符串的所有前缀在字符串中出现的次数之和,我们容易想到kmp中的next数组,next[ ...

  3. [单调栈]小A的柱状图

    链接:https://ac.nowcoder.com/acm/problem/23619来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言52428 ...

  4. c++源文件从文本阶段到可执行文件的过程

    过程分为四个阶段: 预处理阶段····>编译阶段····>汇编阶段····>链接阶段 1)预处理阶段:对源代码文件中的文件包含关系.预编译语句(宏定义)进行分析和替换,生成预编译文件 ...

  5. Transformers 词汇表 | 二

    作者|huggingface 编译|VK 来源|Github 词汇表每种模型都不同,但与其他模型相似.因此,大多数模型使用相同的输入,此处将在用法示例中进行详细说明. 输入ID 输入id通常是传递给模 ...

  6. DeepMind爆出无监督表示学习模型BigBiGAN,GAN之父点赞!

    [导读]今天,DeepMind爆出一篇重磅论文,引发学术圈热烈反响:基于最强图像生成器BigGAN,打造了BigBiGAN,在无监督表示学习和图像生成方面均实现了最先进的性能!Ian Goodfell ...

  7. 洛谷 P2656 采蘑菇 树形DP+缩点+坑点

    题目链接 https://www.luogu.com.cn/problem/P2656 分析 这其实是个一眼题(bushi 发现如果没有那个恢复系数,缩个点就完了,有恢复系数呢?你发现这个恢复系数其实 ...

  8. Vertica的这些事(十三)——Vertica备份元数据信息

    ---备份资源池 SELECT 'CREATE RESOURCE POOL ' || name || CASE WHEN memorysize IS NULL THEN ' ' ELSE ' MEMO ...

  9. Java 中的递归

    递归 递归 一种通过调用某个方法来描述需要重复进行的操作.该方法的特点就是可以自己调用自己. 案例一 排队的问题 在生活中,我们经常需要排队.在排队中,我们怎么才能知道自己所排在第几位呢? 我们也许会 ...

  10. Oauth2.0详解,Oauth2.0协议原理

    角色: RO (resource owner): 资源所有者,对资源具有授权能力的人,通常比喻为用户 RS (resource server): 资源服务器,存储资源.并处理对资源的访问请求 Clie ...