“NGNcalc2x项目”详细设计文档:《NGNcalc2x开发手册附件》

原创 2004年06月23日 19:18:00

http://www.ngnc.net/NGNcalc2x/development_design.htm

NGNcalc2x开发手册附件》系统设计说明书正文

目录:

1

项目描述

2

系统设计与开发计划

3

商务运做与市场定位

一:项目描述:

概述:

该计算器是函数型科学计算器,以函数编辑和管理为主要特点。除具备传统计算器的 基本功能 + - * /和一些高级的函数快捷键外,用户可以通过使用系统默认提供的自定义函数或自己编辑或下载的自定义函数集来扩充计算器的功能;以下将重点说明自定义函数有关的操作和设计;

计算:

一个计算过程是通过输入数字和函数然后获得计算结果,数字可以是任意整数或小数, 函数可以是系统提供的和可扩充的自定义函数;

数字和函数的输入顺序不是唯一的。比如:1,+,1,=Fn,+,1,1的结果都是2。这个例子中,函数标识Fn和后面的+的输入表示要计算“加”这个函数,后面输入的2个数字是“加”这个函数的两个参数;任何内嵌的或自定义的函数都可以替代“加”。

一个计算过程只能有一个,必须有一个函数参与其中。函数的参数个数决定了计算输入的长度;

寄存器:

因为上述计算过程,计算器必须有能力记录数字以用于下一个函数的计算;

用户可以按"next number"键,可以使用“,”或"return"键表示一个数字的输入结束,进入下个数字的输入。这有些象计算机程序的表示方法n0=? n1=? n2=? ...

在另一个计算过程中计算: 有用的控制 "()"

1,*,(2,+,3,),=; 这是个好的例子显示了特殊的计算过程。

计算过程如下:

> n1=1,

>

函数“*”准备就绪,等待下个参数的输入,

>

启动另一个计算过程,

> n2=2,

> func=sum,

> n3=3,

>

结束计算,

>

*”的另一个参数 n2 = sum(n2,n3)

>

结束第1个计算“*,n1 = mul(n1,n2)

>

将结果n1显示在计算器窗口。

函数编辑:

一个函数的编辑和一个计算过程基本一致,不同的是参数数字被变量替换,计算结果则变成保存为函数的操作;

在普通的计算输入过程中,当用户当在需要输入参数数字时改为按"varable"键,之后按索引数字或不按数字由系统自动添加,就向:x1, x2, x3, ...。然后用户按 '='结束计算/函数输入。如果之前的输入序列中有变量,计算器就会寻求用户给函数取名字,并保存起来下次使用。下面是一组例子:

x1,+,x1,=; it's power2 function.

5,*,(,x1,+,3,),= a formula used to get some result.

x1,/,12,= convert inch to feet.

x1,*,12,= convert feet to inch.

函数管理:

太多的函数需要用标签进行管理,也可以以名称排序。用户可以方便地通过FN键启动函数搜索菜单定位你想要的函数。

用户还可以定义函数热键Fn1Fn2等快速定位到你最常用的函数;

二、系统设计与开发计划:

线程分析:

1,

输入事件等待线程:用户输入部分,也是触发整个系统运行的基础;

2,

屏幕显示线程:用户输入部分,通过对Calc状态的查询,对变化部分外观更新,或全部刷新。

3,

计算模块,根据用户输入,理解为计算行为,调用对应函数算之。无并行计算需求,所以用1个线程担当;

结论:计算器是个输入响应和显示的循环,在一个进程中执行即可;

模块分析:

I/O分析,目前平台众多,输入方式分控制台方式和窗口按钮模式;显示方式一样,

因此,需要对输入和输出进行抽象出一个统一接口,剥离I/O部分的控制;

使用NGNcPlugin能力,分别对不同的平台编制不同的插件,以提供统一的I/O接口

2

,计算器数据描述,和控制逻辑可以独立存在,与I/O界限分明

使用NGNc的脚本能力,描述计算器核心和外观数据,以及控制流程,便于改进计算器的核心能力,与能力扩充的自由度

3

,计算器数据,和通用操作逻辑是一个核心,包括函数操作

4

,函数的管理独立出来,定义函数库的格式,编制工具单独管理;

作为最常用的Window桌面系统,管理自定义函数,负责与其他终端的交换,以及多用户间的互通有无等非常方便。甚至可以利用Web方式实现自动的函数交换,查询等。

此部分可以只用一个桌面程序完成,也可以通过建立Web服务器的方式,可大可小;

开发步骤:

1

,在Dos控制台下,实现基本型计算器的功能,并搭建系统平台

2

,开发Dos控制台的模拟器,在窗口系统下运行上面的Demo

3

,在Demo的基础上扩充计算器核心数据结构,完成函数型科学计算器的全部逻辑;

4

,在Dos控制台的模拟器的基础上,对多平台I/O进行抽象,简化为多平台I/O所需要的Plugin开发量;将尽量多的I/O逻辑以NGNc脚本和数据的形式完成;

5

,开发Windows桌面函数管理,或Web函数管理系统;

注释:以上除Demo外其他部分都可以平行进行;

NGNc

脚本编制规则:

Num

name

1st Char

Comments

Examples

0

Resv Data Type

int, float ...

1

Struct Declare

T,Name

Upper 1st Name

TPushBtn, ...

2

Function Name

Name

Upper 1st Name

DebugLoop, ...

3

global varable

g_,name

lower name

g_reg1, ...

4

local varable

l_,name

lower name

l_tmp, l_i, ...

5

Str Attr Name

m_,name

lower name

m_attr1, ...

...

三、商务运做和市场定位

目标市场锁定于移动终端市场,传统桌面市场由于其便利性无法同移动市场相比,而采用移动捆绑和传统桌面市场Free的方式;

开发第一阶段,基本功能实现,测试应用推广期,不做过多额外开发,在明确了准确的商务计划后,需要额外开发与之配套的系统,Web系统是必不可少的;

如何写详细设计文档

如何写详细设计文档是一个很头疼的话题,简单的说是需求文档的升华,也可以说是开发人员开发程序的依据,当然根据详细设计文档的粒度进行。好的详细设计文档是需求人员和开发人员之间的桥梁,不过目前好多程序开发都...
  • vbloveshllm
  • vbloveshllm
  • 2014年03月27日 14:08
  • 14309

应该如何写详细设计文档

下面讨论如何写出一个符合要求、实用的详细设计文档。 一、        首 先是文档的内容,根据项目和团队的不同,详细设计文档的内容也有所不同,一般说来,粒度不宜过细,不能代替开发人员的设计和思考...
  • xiaoxiaoxuewen
  • xiaoxiaoxuewen
  • 2015年03月11日 22:55
  • 1732

App项目设计开发完整流程

App项目设计开发完整流程 1. idea形成——APP项目雏形 一个APP项目的最初首先要确定项目整体方案,整个项目的规划,大体框架,做成文档展现出来,以便大家提意见和更好的改进。也就是说首先要...
  • qq_32799447
  • qq_32799447
  • 2016年03月27日 23:36
  • 1618

软件详细设计文档模板

1.1程序描述 给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点(如 是常驻内存还是非常驻?是否子程序?是可重人的还是不可重人的?有无覆盖要求?是顺序处理还是并发...
  • SunCherryDream
  • SunCherryDream
  • 2014年07月11日 17:38
  • 19555

软件开发中的详细设计

传统软件开发中的详细设计: 模块内的数据结构进行设计。比如模块中类、结构体的设计对数据结构进行物体设计。比如数据库表的设计,文件存储的设计,文件存储目录的设计每个模块进行详细算法设计。比如每个方法...
  • wang15061955806
  • wang15061955806
  • 2016年02月03日 17:00
  • 2667

详细设计说明书

详细设计说明书 1引言 1.1编写目的     本详细设计说明书,是在概要设计说明书的基础上进一步明确系统结构,详细的介绍系统的各个模块,为进行后面的编码和测试做准备。           预期读...
  • ZHOUCHAOQIANG
  • ZHOUCHAOQIANG
  • 2013年12月03日 17:04
  • 4075

软件开发文档范例

对于软件工程学科的同学都知道,软件工程是一门技术含量高设计极其复杂的学科。为了控制好软件产品质量和规范,就必须用大量的文档约束软件工程的进度和状态。浩大的软件工程对于缺少工作和项目经验的人来说,必然是...
  • SunCherryDream
  • SunCherryDream
  • 2014年04月08日 09:11
  • 43838

UML在项目实施中的使用心得(详细设计阶段)

总结:在业务需求分析阶段使用功能框图、Use Case图、Sequence图逐级分析业务项及业务流程,在概要设计阶段确定系统架构,使用Deployment图、Component图确定部署、对外提供接口...
  • totuswhf
  • totuswhf
  • 2014年04月10日 13:59
  • 3609

项目管理---敏捷开发---到底要不要写文档?

开发要有开发文档(需求文档、数据库设计、概要设计)、开发计划(甘特图、燃尽图)、测试计划(时间、地点、人员、任务模块分配、禅道bug提交管理)都应该有一个时间段,在大家的一起商量之下可以每个人做到心中...
  • lishehe
  • lishehe
  • 2014年04月04日 08:13
  • 7970

基于Android平台的会议室管理系统详细设计说明书

会议室管理系统详细设计说明书 第一部分  引言 1.1 编写目的 本说明对会议室管理系统项目的各模块、页面、脚本分别进行了实现层面上的要求和说明。 软件开发小组的产品实现成员应该阅读和参考本说明进...
  • gongxifacai_believe
  • gongxifacai_believe
  • 2016年04月22日 22:41
  • 4327
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:“NGNcalc2x项目”详细设计文档:《NGNcalc2x开发手册附件》
举报原因:
原因补充:

(最多只允许输入30个字)