其他分享
首页 > 其他分享> > 实验二 结构化分析与设计

实验二 结构化分析与设计

作者:互联网

这个作业属于哪个课程 https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18
这个作业的要求在哪里 https://edu.cnblogs.com/campus/ahgc/AHPU-se-JSJ18/homework/11548
这个作业的目标 (1)掌握结构化的需求分析方法;(2)掌握分层数据流图的绘制、数据字典和加工说明的编制;(3)掌握数据流图映射为软件结构图的方法;(4)掌握需求说明书和设计说明。书的主要内容,学习软件需求说明书和设计说明书的编写;(5)掌握测试的基本方法。
学号 3180701235

实验二 结构化分析与设计

目录

一.实验目的

(1)掌握结构化的需求分析方法;
(2)掌握分层数据流图的绘制、数据字典和加工说明的编制;
(3)掌握数据流图映射为软件结构图的方法;
(4)掌握需求说明书和设计说明。书的主要内容,学习软件需求说明书和设计说明书的编写;
(5)掌握测试的基本方法。

二.实验内容

(1)参考一个熟悉的系统,如,机票预订系统/教材订购系统/ATM自动取款机,讨论其用户需求、系统需求和业务需求;
(2)绘制系统的分层数据流图,并给出数据字典;
(3)将系统的分层数据流图映射为软件结构图,绘制软件结构图;
(4)为关键模块进行详细设计,如绘制关键模块的流程图;
(5)实现系统部分功能并测试。

【实例2】教材订购系统

销售系统的工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票、登记并返给教师或学生领
书单,教师或学生即可去书库领书。
采购系统的主要工作过程为:若是脱销教材,则登记缺书,发缺书单给书库采购人员;一旦新书入库后,即发进书单通知给教材发
行人员。

三.实验步骤

(1)复习结构化的分析与设计方法的主要过程;
(2)讨论系统存在的用户角色、工作流等;
(3)对关键功能绘制数据流图,给出数据字典,并反复讨论数据流的合理性;
(4)对应数据流图,设计系统的功能结构图,关键模块的流程图;
(5)选择对应的结构化程序设计语言,实现并测试部分功能模块

四、实验过程及结果

1.需求分析

①用户需求
教材订购系统面向的对象有学生或老师,以及书库管理人员。学生或老师向教材订购系统发送购书需求,收取领书单;教材订购系统向书库管理员返回缺书单,管理员向其发送进书通知。

②业务需求
教材订购系统可以收取老师或学生的购书请求,通过查询数据库中指定书籍的数量,若数量足够,则向老师或学生发送领书单;若数量不足,则向书库管理员发送缺书单,提醒书库管理人员去采购,新书入库
后,即发进书单通知给书库管理人员。

③系统需求
系统能够身份识别,学生或老师以及书库管理员的登录进系统能够获得不同的系统权限,学生和老师只能提交购书请求,而书库管理员可以对书库里的缺少的图书进行补充。数据库需要有教材用书表、库存
表、缺书登记表、售书登记表、入库登记表、待购登记表等表用于存储系统用户所产生的数据。

2.系统分层数据流图

(1)顶层图

(2)一层数据流图

(3)加工P1的子图

(4)加工P2的子图

3.数据字典

(1)数据项

(2)数据结构

(3)数据流

(4)数据存储

(5)处理过程

4.教材购销系统功能结构图

(1)教材购销系统的最初上层框架设计

(2)销售子系统初始SC图

(3)采购子系统初始SC图

(4)最终SC的上层框架

(5)初售动作分支的最终SC图

5、部分模块

void Into()//教材进库函数
{ 
	FILE *fp;
	int xcl=0,n=0;
	float price=0;
	char name[20]={'\0'},author[20]={'\0'},kind[20]={'\0'},chuban[20]={'\0'},shuhao[20]={'\0'};
	char hitkey; 
	
	system ("cls");
	
	if ((fp=fopen("library.txt","a"))==NULL)//打开图书馆文件,不存在此文件则新建
	{ 
		fp=fopen("library.txt","w");
		fclose(fp);
	}
	
	fp=fopen("library.txt","a");//追加写打开进行录入数据 
	
	printf("\n	请您输入需要录入的教材信息:\n\n	书号	书名	作者	出版社	类别	进库量	单价");
	printf("\n\n	(类别:哲学,文学,教育,艺术,科学,教材,小说,其它)\n	(书号:(XXX) )\n"); 
	
	for (;hitkey!=27;)//如果输入一组数据后敲了回车键则循环输入 
	{ 
		if (n!=0)
			printf("请输入:\n");//从第二次输入开始提示请输入 
			
		scanf("%s%s%s%s%s%d%f",shuhao,name,author,chuban,kind,&xcl,&price);		
		fprintf(fp,"%-8s%-9s%-14s%-16s%-18s%-7d%-8.2f\n",shuhao,name,author,chuban,kind,xcl,price);
		
		printf("继续输入请按回车\n结束输入请按Esc\n");
		n++;
		
		hitkey=getch();//记录敲击进来的键                                                                                                                                          		
		for (;hitkey!=13&&hitkey!=27;)//13:\r回车  27:ESC退出                                                                                                                          
			hitkey=getch();//敲击错误可重复敲击 
	}
	fclose(fp);
	
	printf("\n保存成功,按任意键返回上一层!");
	getch();
	tsgxx();//返回上一层
}

五.思考题

(1)简述需求说明书,概要设计,详细设计说明书的主要内容。
①需求说明书
需求说明书是指在研究用户要求的基础上,完成可行性分析和投资效益分析以后,由软件工程师或分析员编写的说明书。它详细定义了信息流和界面,功能需求,设计要求和限制,测试准则和质量保证要求。它的作用是作为用户和软件开发人员达成的技术协议书,作为着手进行设计工作的基础和依据,系统开发完成以后,为产品的验收提供了依据
②概要设计说明书
概要设计说明书又可称系统设计说明书,这里所说的系统是指程序系统。编制的目的是说明对程序 系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计、运行设计、安全设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。
③详细设计说明书
详细设计说明书又可称程序设计说明书。编制目的是说明一个软件系统各个层次中的每一个程序 (每个模块或子程序)的设计考虑,如果一个软件系统比较简单,层次很少,本文件可以不单独编写,有关 内容合并入概要设计说明书。

(2)结构化分析方法与面向对象分析方法有无本质上的不同?
面向对象的方法将对象作为实体,对其操作的函数对其依赖性很强,也就是对象更重要,例如C++语言,而结构化方法更关注的是程序自己的运行状态,以及函数的执行效率,例如C语言。

(3)对数据流图进行审查有何意义?
对数据流图进行审查对于项目的成功是绝对必要的。对数据流图进行审查是为了尽早发现数据流图中各项需求分析和设计中的缺陷,尽可能把这些缺陷在进入下一个阶段工作之前,予以纠正,从而避免后期付出更多的代价。

(4)给出一次完整的会议讨论纪要,包括议题,最终结果。
标题:数据流图的特性及信息流的分类讨论会议纪要
会议概述:

会议主题 围绕数据流图的特性及信息流的分类展开讨论
会议时间 2020.11.16
地点 C座601
参会人员 B:鲍丽、H:韩雨晨、T:童玉情

主要议题:
会议主要议题:就数据流图的特性及信息流的分类的讨论
会议内容:
会议流程:各自发表就问题的看法及观点,再相互之间进行纠正,一同整理出共同观点,最后得出结论

人员 主要观点:
B 定义变换流;可以透过数据流图看到软件结构
H 还定义了事务流,变换流和事务流都属于信息流
T 变换流和事务流是两种“映射”性质 ,事务流类似于switch结构
共识 数据流图展现了软件结构;定义了变换流和事务流两种“映射”:信息流可以分为两类:变换流和事务流

【后续工作:
 这部分需记录会后各方的工作,包括会议敲定事情的工作计划、时间节点、负责人、汇报人等信息;还需记录经过会议尚未结局的事情,记录后续跟进的各事项。】

六、实验小结

PSP:

PSP Personal Software Process Stages Time (%) Senior Student Time (%)
Planning 计划 24 20
· Estimate 估计这个任务需要多少时间 800 900
Development 开发 400 525
· Analysis 需求分析 (包括学习新技术) 60 100
· Design Spec 生成设计文档 30 20
· Design Review 设计复审 4 6
· Coding Standard 代码规范 30 30
· Design 具体设计 30 38
· Coding 具体编码 300 350
· Code Review 代码复审 60 90
· Test 测试(自我测试,修改代码,提交修改) 120 210
Reporting 报告 30 30
· 测试报告 3 2
· 计算工作量 2 1
· 并提出过程改进计划 20 27

标签:书库,系统,说明书,实验,教材,数据流,设计,结构化分析
来源: https://www.cnblogs.com/hyc138/p/14106546.html