搜索
您的当前位置:首页正文

软件分析设计书

来源:好走旅游网
软件分析设计书

1 引言

1.1 编写目的

【为了阐明系统分析设计的内容,对象是委托方与开发方。】 1.2 项目背景

【该项目委托部门为08级联读班软件开发基础课程教研小组;开发单位为学生信息管理系统系统小组;该软件系统与其他项目为并列关系,之间互不干涉】

1.2 定义

SIM:即为学生信息管理系统系统小组。 1.4 参考资料

【[软件开发基础教程-下册] 程国英-钱小平编著 出版日期:2007年3月1日料来源:教学课本】

2 语言、开发环境 编程语言:C++

操作系统:Windows 9x 2000 me xp vista 内存需求:至少32M 硬盘空间需求:至少50M 处理器需求:100MHZ+ 显卡、声卡需求:无

3 类与对象 3.1 类图

Person(人) -name:String //姓名 -sex:String性别 -Address::String地址 -phone::Stringg电话 +Person() +setData(String,String=\"\ ) +getAddress()String +getName()String +getSex():String Virtual setPhone(String)=0:void

资 User(用户) -type:Int类型 -userName :String用户名 -userPass:String 密码 -delFlag:bool -newDate:String 删除标记 创建日期 -lastTime:String 上次使用时间 -User() -setlastTime() -getuserName() -getuserPass() -getnewDate() -getlastTime() Teacher(教师) -workID:String 工号 -course:String 课程 -Teacher() -setCourse() -getCourse() -getworkID()

Student(学生) -studentID:String学号 -teacherNumber:Int课程数 -teacher[]String*课程教师姓名 -Student() -setteacherNumber() -setteacher() -getteacher() -getstudentID() -getteacherNumber() Adiministor(管理员) -workID:String工号 -Administor() -getworkID ChainNode -NodeType data; -ChainNode* nextPtr; ChainNode(const NodeType &obj):data(obj){nextPtr=NULL;} -setData(const NodeType &obj){data=obj;} void -getData(){return data;} NodeType& -setNextPtr(Chain*p){nextPtr=p;} void -getNextPtr(){return nextPtr;} ChainNode* friend class Chain;

Chain +ChainNode*pHead,*pTail; +ChainNode* +newNode(const NodeType&,ChainNode *nextP=NULL); +int ChainNodeNumber; -Chain(); -Chain(const Chain& obj); -~Chain(); -operator=(const Chain&obj); Chain& -getPHead()const{return pHead;} ChainNode* //获取首节点指针 -getPHeadElement()const{return pHead->getData();} NodeType& //获取首节点数据 -getPTail()const{return pTail;} ChainNode* //获取尾节点指针 bool isEmpty()const; //判断链是否为空 -chainNodeNumber(){return ChainNodeNumber;} int //统计节点数 - setNodeNumber(int a){ChainNodeNumber=a;} void - print(); void //输出链中所有数据 -findNode(NodeType&item,ChainNode*&prePtr); bool //找到与item相同的节点,并用prePtr指向其上一个节点 -findNode2(NodeType&item,ChainNode*&prePtr); bool //找到与item相同的节点,并用prePtr指向该节点 -readFile(char*filePtr); void //从读到当前链中 -writeFile(char*filePtr); void //把当前链中的NodeType对象写到filePtr指定的文件中 -insertFront(const NodeType&); void //插入链首指针 - insertBack(const NodeType&); void //插入链尾指针 - deleteFront(); bool //删除首节点并析构 -deleteFront(ChainNode*&); bool //删除首节点不析构 - deleteBack(); bool //删除尾节点并析构 -deleteBack(ChainNode*&); bool //删除尾

3.2 对象静态模型

用户 SIM

查寻成绩 学生 修改信息 选择课程 开设课程 输入成绩 老师 修改信息 增加老师 管理员 增加学生 查询信息

3.3 对象动态模型

【描述对象的行为,绘制对象动态模型。】 3.4 算法描述

【无。】 3.5 测试要点

【无。】

3.6 程序构件与接口设计

【各程序均有有网络接口。】

4 用户界面 4.1 用例描述

【对每个用例进行描述。】 4.2 用例模型

【绘制软件的用例模型。】 4.3 用户界面

【尚无。】

5 数据库设计

5.1 数据库管理系统

【选择数据库管理系统,并对该数据库管理系统进行简要描述。】 5.2 物理数据库结构设计 字段名 类型 长度 关键字 userName 字符 6 是 userPass 字符 6 userType userID Name delFlag newDate lastTime 字符 整型 字符 字符 字符 Date(自定义 3 10 1 10 说明 用户登录名 用户密码,输入屏蔽 用户类型 用户工号或学号 用户姓名,最多5字 删除标志 入校日期 最近一次使用时间 类图中多有,不再重复。

5.3 数据结构的完整性和安全性

【无。】

6系统配置 无

7 出错处理设计 8.1 出错输出信息

【无。】

8.2 出错处理对策

【重新启动,不过上次的操作结果将不予保存。】

8 其他

9.1 安全保密设计

【用户应对自己的用户密码保密,防止他人更改或窃取信息。】 9.2 标识符命名规则

【关于学生加后缀stu。】 【关于老师加后缀tea。】

【关于系统管理员加后缀 adm。】 【全局变量加后缀 all。】

9.维护设计

【无。】

由于时间紧迫以及程序尚未编写,部分任务尚未完成,请老师见谅。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top