本期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. python浅学【网络服务中间件】之MongoDB

    一.关于MongoDB: MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为WEB应用提供 ...

  2. [Docker6] Docker compose多容器运行与管理

    六.Docker compose docker compose就是通过yml文件来定义和运行多个容器docker应用程序的工具,三步过程就能跑起一个compose: 定义应用程序的环境(yml中) 定 ...

  3. (原)Non-local Neural Networks

    转载请注明出处: 论文: https://arxiv.org/abs/1711.07971 第三方pytorch代码: https://github.com/AlexHex7/Non-local_py ...

  4. python-神奇的下划线

    2019-12-16 22:45:29 python中下划线有各种各样的作用,本章就来分别介绍一下各种下划线的功能. 一.开头单下划线 _VAR 开头单下划线还是挺常用的,在类中表示为保护变量/保护函 ...

  5. CF codeforces A. New Year Garland【Educational Codeforces Round 79 (Rated for Div. 2)】

    A. New Year Garland time limit per test 1 second memory limit per test 256 megabytes input standard ...

  6. ML Lecture 0-2: Why we need to learn machine learning?

    在Github上也po了这个系列学习笔记(MachineLearningCourseNote),觉得写的不错的小伙伴欢迎来给项目点个赞哦~~ ML Lecture 0-2: Why we need t ...

  7. K折-交叉验证

    k-折交叉验证(k-fold crossValidation):在机器学习中,将数据集A分为训练集(training set)B和测试集(test set)C,在样本量不充足的情况下,为了充分利用数据 ...

  8. Building Applications with Force.com and VisualForce(Dev401)( 八):Designing Applications for Multiple users:Managing your users' experience II

    Dev 401-008: Design Applications for Multiple Users' Experience Part 2Universal Containers Scenario1 ...

  9. AssociatedObject

    在 Objective-C 中可以通过 Category 给一个现有的类添加属性,但是却不能添加实例变量,值得庆幸的是,我们可以通过 Associated Objects 来弥补这一不足. 在阅读本文 ...

  10. JavaScript实现哈希表

    JavaScript实现哈希表 一.哈希表简介 1.1.认识哈希表 哈希表通常是基于数组实现的,但是相对于数组,它存在更多优势: 哈希表可以提供非常快速的插入-删除-查找操作: 无论多少数据,插入和删 ...