大型软件设计实验第一次迭代

1. 总述

1.1 选题

我们目标是做一个真正可以投入使用并可以有用户接受的易用的软件。前期讨论时我们参考了很多优秀的软件项目的实现,查阅了很多计算机技术博客,最后得出的结论:我们最终决定做一个文本编辑器,除了实现文本编辑的功能外,我们还要实现编程功能,最终做成一个简易的IDE。

1.2 选题背景

文本编辑器是我们平常最常用的软件之一,典型的代表如windows下的Notepad,Word,Linux下的vi,vim等都是各具特色且十分实用的文本编辑工具。虽有上述这些轻量级的文本编辑器,我们仍认为我们可以在这方面做相应的尝试,模仿Notepad做一个简易的文本编辑器,再加上一个编程模式下的分词、高亮、语法补全等等,针对自己所需要的定制一款文本编辑器,这就是我们的想法。

1.3 软件开发环境及工具

在Windows下,通过基于C++的GUI框架QT来构建文本编译器的基本框架。

1.4 软件开发模式:敏捷、迭代式开发

敏捷软件开发(Agile software development)是1990年代开始引起广泛关注的一些新型软件开发方法,是应对快速变化的需求的一种软件开发能力。相对于“非敏捷”,敏捷软件开发更强调:程序员团队与业务专家之间的紧密协作;面对面的沟通(认为比书面的文档更有效);频繁交付新的软件版本;紧凑而自我组织型的团队;能够很好地适应需求变化的代码编写和团队组织方法;更注重软件开发过程中人的作用。
迭代式开发:迭代开发将整个软件生命周期分成多个小的迭代(一般2-4周),每一次迭代都由需求分析、设计、实现和测试在内的多个活动组成,每一次迭代都可以生成一个稳定和被验证过的软件版本。
我们这次软件开发主要有三轮迭代,大致安排如下:
第一周:选题,项目启动
第二、第三周:进行第一次迭代
第四、第五周:进行第二次迭代
第六、第七周:进行第三次迭代
第八周:回顾与产品发布

2. 第一轮迭代

2.1 完成情况

经过第一轮迭代,我们已经实现了文本编辑器的框架;实现了文本编辑器的几个模块功能:文件、编辑、格式、查看、帮助、模式;实现了文本编辑器的若干具体功能:文件导入、打印、复制、剪切、粘贴、删除、撤销、查找、替换、变换字体大小及颜色

大型软件设计实验第一次迭代
大型软件设计实验第一次迭代
大型软件设计实验第一次迭代
大型软件设计实验第一次迭代
大型软件设计实验第一次迭代
大型软件设计实验第一次迭代
大型软件设计实验第一次迭代

2.2 下一轮迭代澄清

我们计划实现编程模式的基本功能:实现编程模式下的分词、高亮、语法自动补全、添加程序内浏览器模块