资源描述
需求规格说明Version: 1.0项 目 承 担 队伍:烟台大学计算机学院E-fanciers 小组许超 于歌2009-7-16E-fanciers 小组 孝瑞2009-7-19撰 写 人(签名) 完成日期 本文档使用小组: 评审负责人(签名) 评 审 日 期目录一、引言 41.1 编写目的 41.2 项目背景 41.3 定义 41.4 参考资料: 5二、任务概述 52.1 目标 52.2 运行环境 62.3 条件与限制 6三、数据描述 73.1 静态数据 73.2 动态数据 7四、功能需求 74.1 功能划分 74.2 功能描述 7五、性能要求 85.1 时间特性85.2 适应性8六、运行需求 86.1 用户界面86.2 硬件接口96.3 软件接口96.4 故障处理10七、其他需求 10需求规格说明Requirements Specification)一引言1 编写目的(阐明编写需求说明书的目的,指明读者对象。)1. 作为嵌入式实时操作系统软件系统开发技术协议的参考依据,为开发提供参考。2根据齐鲁软件设计大赛2009赛题嵌入式实时操作系统(RTOS)设计的要求特点和当 前背景下此类软件需求方向的特点,对被开发软件系统的主要功能、性能进行完整描 述,为软件开发者进行详细设计和编程提供基础。3. 为软件提供测试和验收的依据,即为选取测试用例和进行验收的依据。2 项目背景(可包括:(1)项目的委托单位,开发单位和主管部门;(2)该软件系统与 其他系统的关系。随着微电子技术、计算机技术和网络通信技术的发展,嵌入式系统已广泛应用在各个 领域,包括消费电子、汽车电子、网络通信、工业设备、航空航天和国防军事等。随着嵌入 式技术的发展,工业领域也一改过去传统的单片机应用模式,逐渐将一些新嵌入式技术引入 到系统中。特别是作为软件基础的嵌入式操作系统已广泛为业界所接受,借以提高系统的开 发效率和运行效率。是否采用嵌入式操作系统,已成为工业设备品质优劣的标志之一。当今的嵌入式操作系统领域呈现百家争鸣的状态。据最近的调查数据显示,嵌入式操作 系统有数十种之多的。这种多样性存在是必然的,是由嵌入式系统的定制性所决定的,是针 对各个领域和行业的不同需求的应对。也就是说,各个嵌入式操作系统都有自己的应用领域, 针对不同的应用没有绝对的优劣之分,不会出现一种操作系统垄断的局面。自主开发嵌入式 操作系统绝对不是多余的,也是是对这种多样性的自然顺应,应该可拥有自己的用武之地。有些国内嵌入式厂商将希望寄托在Linux之上,以为它可以帮助解决所面临的版税和安 全等问题。但事实并非完全如此,至少在嵌入式系统领域。首先,Linux还是泊来货,国人 并未掌握其核心技术和进程,也并未解决对外依赖的问题。其次,Linux是为桌面系统而设 计的,并不能很好地满足嵌入式系统高效性和灵活性的要求;再次,Linux的一统也违背了 嵌入式系统应用灵活定制的本质特性。3 定义(列出文档中用到的专门术语定义和缩写词的原文。)int taskInit(void);/*创建一个任务, 返回: 返回任务编号 tid, 0: 成功, 其他: 失败.*/*name: 任务名称, entryPtr : 任务函数入口, stack_size: 任务栈大小, priority: 任 务优先级*/int taskCreate(char *name, void *entryPtr, int stack_size, int priority);/*启动一个任务,让taskCreat创建的任务参加调度*/int taskStart(unsigned char tid);/*tid: 任务编号, 由 taskCreate 返回*/int taskPriorityGet(unsigned char tid);int taskPrioritySet(unsigned char tid, int newPriority); /*获取和设置任务优先级, 用于动态调整*/int taskSuspend(unsigned char tid);/*将任务挂起, 该任务退出调度*/int taskDelete(unsigned char tid);/*将任务删除 该任务退出调度且回收任务分配的资源*/int semCreate(void);/*互斥信号量创建, 返回信号量标识 sid, 0: 成功, 其他: 失败.*/*name: 任务名称, entryPtr : 任务函数入口, stack_size: 任务栈大小, priority: 任 务优先级*/int taskCreate(char *name, void *entryPtr, int stack_size, int priority);/*启动一个任务, 让 taskCreat 创建的任务参加调度*/*tid: 任务编号, 由 taskCreate 返回*/int taskStart(unsigned char tid);/*获取和设置任务优先级, 用于动态调整*/int taskPriorityGet(unsigned char tid);int taskPrioritySet(unsigned char tid, int newPriority);/*将任务挂起, 该任务退出调度*/int taskSuspend(unsigned char tid);/*将任务删除 该任务退出调度且回收任务分配的资源*/int taskDelete(unsigned char tid);/*互斥信号量创建, 返回信号量标识 sid, 0: 失败*/int semCreate(void);/*互斥信号量获取和释放*/int semTake(int sid);int semGive(int sid);/*任务睡眠(非忙等),由任务自己调用,主动阻塞一段时间.时间单位为tick,即10毫秒 */int taskSleep(int ticks);第二部分:Shell命令名称功能备注help为所有的命令提供帮助ti显示所有任务信息:名称,编号td n显示编号n任务的详细信息:调度状态,睡眠时间,优先级,分配栈大小,已用栈 大小,调度次数,CPU占用比率,ts n挂起编号n任务,退出调度tr n恢复编号n任务的运仃si显示所有信号量的详细信息:编号,状态,占用任务 编号其他4故障处理软件设置了相应的出错处理机制。七其他需求(如可使用性、安全保密、可维护性、可移植性等。)本软件具有很高的可移植性与可维护性。开发过程采用版本控制,易于管理,便于软件升级使用方便,不仅仅专业人士可操作该软件,普通用户也可快速学会熟练的操作该软件。
展开阅读全文