没法传图,自己想一下怎么改吧……
一.开发目的:
总结软件开发过程中的方法和技巧,更好的应用和数据库技术
1.开发内容:开发一套学生成绩管理系统软件
采取的研究方法:采用面向对象的编程,结合网络和数据库技术,实现控制和管理。通过系统分析、需求分析、概要设计、详细设计、编写代码、软件测试、软件维护、经验方法总结等一系列实验方案,实验软件的开发。
2.具体开发方案:
分七个阶段进行:
系统分析、需求收集和分析
概念设计
第一阶段:系统分析、需求收集和分析
这一阶段首先进行系统分析,分析确定系统的规模和范围,确定软件的总体要求以及所需要的硬件和支撑软件,确定待开发软件与外界的接口,根据用户的情况确定软件对操作的要求,以及待开发软件总体上的约束和限制,完善项目计划。
在这之后,这一阶段的大部分时间将被用来进行需求收集和分析。向学校管理人员及学生了解情况,确定软件系统的综合要求,分析软件系统的数据要求,导出系统的逻辑模型,修正项目开发计划。
采用结构化分析方法,生成数据流图、数据词典及加工逻辑说明。
估计阶段跨度:2006年某月初至某月中旬
第二阶段:概要设计
在这一阶段将确定软件系统的结构,对全局数据结构进行设计,进行模块划分,确定每个模块的功能 接口以及模块间的调用关系。
采用与结构化方法衔接的结构化设计方法,生成结构图及概念设计说明书。
估计阶段跨度:2006年某月中旬至某月底
第三阶段:详细设计
为每个模块设计实现的细节将成为这个阶段的主要任务,还要对局部数据结构进行设计。
采用结构化设计方法。采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。使得程序具有良好的结构,增强程序的可读性。生成程序流程图及详细设计说明书。
详细设计时,如果不满意,须回到概要设计中重新完善设计。
估计阶段跨度:2006年某月初至某月中旬
第四阶段:编写代码
这一阶段用来根据详细设计说明书编写代码。
采用计算机语言编写。追求高质量的代码,生成源程序代码、内部文档。
估计阶段跨度:2006年某月中旬至某月底
第五阶段:软件测试
这将是一个很重要也将是一个很耗时间和精力的阶段。
在这一阶段中将尽可能多地发现软件中的错误和缺陷。如果有错,还将退回到编码阶段进行调试。测试过程分为单元测试、集成测试和确认测试。
估计阶段跨度:2006年某月初至某月中旬
第六阶段:完善各项文档及和报告,从整个开发过程和这些文档中总结经验和教训,罗列各种方法和技巧。
估计阶段跨度:2007年某月中旬至某月底。
需求分析说明书
一,引言
21世纪以高科技为核心的知识经济将占主导地位,国家的综合国力和国际竞争力将越来越取决于科学技术创新水平。教育作为知识创新、传播和应用的基础,培养和输送人才的摇篮,已经成为经济发展和社会进步的基础。尽管人类进步的程度随着不同时代,不同地区而有所变化,教育的口径却在不断扩宽,以便使过去仅供少数人使用的教育资源能够为更多各种年龄、不同社会阶层和背景的人们所用。在信息爆炸的时代,传统教学管理面临着诸多挑战。
1.编写目的:
开发基于互联网的学生选课系统,提高管理工作的效率、提高信息的开放性、改善学生和教师对其最新信息查询的准确性。
2.背景说明
随着学校规模的不断扩大,专业、班级、学生的数量急剧增加,有关学生选课的各种信息量也成倍增长,而目前许多高校的学生选课管理仍停留在复杂的人工操作上,重复工作较多,工作量大,效率低,因此,迫切需要开发基于互联网的体育课信息管理系统来提高管理工作的效率。基于互联网的学生选课管理系统,在学生选课的规范管理、科学统计和快速查询方面具有较大的实用意义。它提高了信息的开放性,大大地改善了学生、教师对其最新信息查询的准确性。
3.术语定义及参考资料
1. (美) Grady Booch,James Rumbaugh,Ivar Jacobson,《UML用户指南》,机械工业出版社,2001年8月
2.Microsoft,MSDN
3.Microsoft, SQL Server2000联机手册
4.Roger S. Pressman。软件工程——实践者的研究方法。机械工业出版社,1997
5.IPL。Software Testing and Software Development Lifecycles。IPL,1996
6.Karl E. Wiegers《软件需求》机械工业出版社,1999
7.张海藩《软件工程导论》清华大学出版社。
4任务概述
4.1. 目标
系统开发的总体任务是实现学生选课信息关系的系统化、规范化和自动化。
4.2. 系统技术
学生选课系统要求具有信息处理的开发性,方便教师上传学生成绩、学生上网选课和查询选课信息及成绩等,因此本系统设计为基于WWW的网络数据库应用系统,使用ASP脚本以Access为数据库的开发技术,运行在支持ASP的服务器上。
4.3基本设计概念和处理流程
采用基于SQL Server 的分布式数据库管理系统。三层结构是目前用得最多的,这种结构比传统的C/S结构增加了一个应用程序服务器,应用程序服务器包括了统一的界面、业务规则和数据处理逻辑等等,这样客户端程序就可以做得比较小,也就是常说的瘦客户,更由于业务规则和数据处理逻辑的集中在服务器上统一管理,客户端无须进行复杂的计算,也不会因为错误的操作而影响到其他的用户,所以他的可靠性、稳定性和效率都比较好。
4.4. 用户的特点
为保证系统安全高效的运行,本系统把用户划分为3类:教务处、教师和学生。不同的用户在系统中的作用和权限也有所不同,所以它所需要完成的功能也就不同。
教务处可以完成本系统所有的功能:
1) 学生信息管理,除学生基本信息外,还可管理学生所选课程、成绩等;
2) 教师信息管理,包括教师个人的基本情况和任课情况;
3) 项目及班数的设定:根据学校教务处所排课进行班级数及人数的统计,然后根据统计结果进行项目及班数的设定;
4) 排课:根据上一步分班情况安排任课教师;
5) 报表生成及输出:生成教师担任课程分班表、按项目生成学生成绩表、按学生行政班生成成绩表及所有报表的输出。
教师在本系统的功能:查询学生选课情况、自己任课情况、获取自己所担任课程分班表、录入及修改成绩等。
学生在本系统的功能:查询本人信息、教师任课信息、选课、选课信息查询、成绩查询。
5.需求规定
5.1. 对功能的规定
1.可实现学生选课注册
2.方便实现学生选课信息查询
3.可对学生成绩档案进行管理,成绩表单生成简便。
4.安全有效的用户区分,管理
5.档案数据的高安全性,保密性
6.有帮助文档
5.2. 对性能的规定
使用稳定,操作性能好,操作方法易于掌握,系统的安全性强
6. 设计思想
用户的需求具体表现在对各种信息的提供、编辑、处理及查询统计上。这就要求数据库结构能充分满足各种信息的输入、处理和输出。通过分析学生选课管理系统的现实需求,学生选课管理系统各环节的基本数据及数据处理流程,在与管理人员沟通、交流与探讨的基础上,得到以下学生选课系统的数据流程图
6.1. 数据库的设计
通过对学生选课管理系统工作内容和相关数据流程分析,根据学生选课管理系统的需要,就可以设计出能满足用户需求的各种实体,以及它们之间的关系,由此得到数据库所支持的数据模型,即数据库的逻辑结构,具体情况如下:
1.学生信息表:开学时将教务处提供的学生信息库按系统的要求修改库结构并导入Access数据库中,应包括如下信息:姓名、学号、院系、班级、性别、所选课程、任课教师、备注等。
2.教师信息表:包括教师姓名、教师代码、性别、年龄、职称、主要教授课程、兼任课程等。
3.课程信息:包括课程目录、课程、课程代码、教学内容、任务与目的、考试方法、要求等。
4.课程表:包括课程名称、课程编号、任课教师、课程学分、上课时间。
5.成绩单列表:包括学生姓名、学号、院系、班级、课程、任课教师、成绩。
6.2. 系统功能特点
1.内容全面 系统全面覆盖了体育课信息,可为学校、教师和学生提供全面准确的信息。
2.层次分明 系统采用模块化程序设计结构。各模块之间既相互独立,又具有一定的联系,各模块可独立编制、调试、查错、修改和执行,结构严谨,便于扩展和维护。
7.系统需求分析
说明:
学校每年新生入学,毕业生离校和各种其它变动,如学籍变动,个人信息修改。每学期学校者要开设一定的课程提供给学生根据自己的情况来选择,最后的选择结果要给出学生的课程表。如何有效的管理这些学生信息,帮助学校和老师管理和掌握这些情况,这就是学生信息管理系统需要完成的任务。下面用软件工程的思想和方法完成该系统的设计过程。
功能:
个人信息查询和修改,包括流动,注册,更新管理
可行性研究报告
1. 编写目的
编写这份可行性研究报告的目的是让读者能够了解本系统的开发可行性。预期的读者包括上级领导,相关开发人员以及管理人员。
一.可行性研究的前提
随着科学技术的进步和社会经济的发展,计算机在现实生活中扮演越来越重要的角色,PC机价格不断的下降和生活水平的提高使得更多的中国家庭能够拥有自己的改变世界的机器,与此同时,我们也已经注意到,在大学校园里,越来越多的计算机已经进入同学们的宿舍,成为他们学习,生活中的一部分。
学生成绩管理方面,进入了信息化时代,我们有能力让我们的生活变的更好,对于学生成绩管理人员每日繁重的工作可以通过计算机来进行缓解,以实现管理自动化,工作人员对资料的管理,信息的发布,用电安全的控制均是人工作业,运作效率较低。因此,建立一个自动化的管理服务的计算机应用软件是十分必要的
1.1 要求
C++.net,传感器,SQL.
1.2 目标
能够快速的查询出学生的各科成绩以及所在班级等各种用途。
1.3 进行可行性研究的方法
对学生和校领导采用问卷调查的方法,询问他们,以确定最佳的可行性研究方案。软件采用现代流行WINDOWS操作界面。是标准的WIN32应用程序,可运行在WIN95\WIN98\WinMe\WIN2000\WINXP\WINNT等系统平台上的多任务应用程序。在运行时可以直观的浏览、查询和掌握学生的成绩,同时能够了解学生的基本信息所在系部、班级、宿舍的具体地址。结束了人工统计的耗时长、工作量大、错误率高的缺点。
1.4 评价尺度
1. 是否功能齐全,运行稳定。2.在网络功能方面是否方便管理。3.设置是否灵活开4.是否具有多任务,高效率的特点。5.是否具有界面友好,操作简单的特点。
2 处理流程和数据流程
2. 所建议的系统
2.1 对所建议系统的说明
我们所建议的系统为学生成绩管理系统。它是为了提高学生成绩管理的自动化程度而开发的。它可以解决一下问题:改变学生成绩输入的麻烦以及查询工作量大的问题还有输出的不便。
3.影响
3.1 对设备的影响
由于以前无自动化管理的方案,所以所有设备都需要购买。
3.2.对软件的影响
由于以前无自动化管理的方案,所以不需要考虑对现存应用软件合支持软件的影像。
3.3.对用户单位机构的影响
为了建立和运行所建议系统,需要提高管理人员的技术水平。
3.4.对系统运行过程的影响
所建议系统没有影响运行过程。
3.5.对开发的影响
所建议系统对软件开发人员要求不高,但是对硬件要求比较高。
3.6.对地点和设施的影响
所建议系统对建筑物无改造,可以利用原有的通信线路。
3.7 技术条件方面的可能性
本软件有计算机系的学生开发,调试,由计算机系老师知道。可完成性很高。
4. 可选择的其他系统方案
由于此系统方案是学生开发,而且资金有限所以暂时无其他系统方案。
5. 投资及效益分析
5.1 支出分析:
5.2 收益分析:
5.3 收益/投资比
5.4 投资回收周期
5.5 敏感性分析
6. 社会因素方面的可能性
所有软件都选用正版。
所有技术资料都由提出方保管。
合同制定确定违约责任。
7.用户使用可行性
由于学校的老师都有一定的计算机基础,不用培训就可以使用,所以用户使用可行性通过。
8. 结论
通过上述分析可以知道这个软件操作简单、功能齐全、功能开放、运行稳定、多任务、高效率等特点。所以说是计算机与学生成绩管理上的好软件!
设计说明书
一.概要设计说明书
1.系统功能设计
2.数据库概念设计
根据以上数据流图导出数据库所需数据项和数据结构
学生:学号,姓名,性别,生日,所在院系,所在班级:
课程:课程号,课程名,讲师,上课时间,地点,课程简介
选课结果:记录号,选课学生,所选课程
学籍变更记录:记录号,变更情况,记录时间,详细描述
2.1数据库概念结构设计的E-R 图
说明:E-R图中矩形代表实体,菱形代表实体间的联系,圆角矩形代表实体的属性
2.2数据库逻辑结构设计
根据以上E-R图,需要五个基本表:学生信息表、课程信息表、选课结果表、奖惩信息表、其中教师信息是处部表,不列出,由于使用打开系统的不光是教务人员,每个学生都要登录到选课系统进行课程的选择,因此,需要对不同的登录人员进行密码的认证和权限的限制,防止越权行为,用户名,密码,权限,保存在一个表中。
1. USER-PASS用户密码信息表字典
字段名
数据类型
是否可空
说明
ID
CHAR
NOT NULL
用户名(主键)
PASSWORD
CHAR
NOT NULL
密码
AUTHORITY
CHAR
NOT NULL
权限
2. COURSE课程信息表数据字典
字段名
数据类型
是否可空
说明
ID
CHAR
NOT NULL
课程号(主键)
NAME
VARCHAR
NULL
课程名
TEACHER
VARCHAR
NILL
讲师
CLASTIME
VARCHAR
NULL
上课时间
CLASSROM
CHAR
NULL
上课地点
INTRO
VARCHAR
NULL
简介
3. COURSE-SELECT选课结果表数据字典
字段名
数据类型
是否可空
说明
ID
SMALL INT
NOT NILL
记录号(主键)
COURSE
CHAR
NULL
课程名
STUDENT
CHAR
NULL
选课学生(外部关键
4. STUDENT学生个人信息表数据字典
字段名
数据类型
是否可空
说明
ID
SMALL INT
NOT NULL
学号(主键)
NAME
VARCHAR
NOT NULL
姓名
SEX
CHAR
NOTNULL
性别
CLASS
CHAR
NULL
班级
DEPARTMENT
CHAR
NULL
院系
BIRTHDAY
VARCHAR
NULL
生日
5. 奖惩记录信息表
字段名
数据类型
是否可空
说明
ID
SMLL INT
NOT NULL
记录号(主键)
STUDENT
CHAR
NOT NULL
学号(外部键)
LEVEL
CHAR
NULL
奖惩代码
TIME
DATA
NULL
时间
DESCRIPTION
VARCHAR
NULL
描述
二主要模块详细设计说明书
1用户身份认证模块
功能:按用户输入的用户名和密码是否合法
合法则进入应用程序
非法则显示出错信息
界面:由总控模块调用
模块说明细化为详细逻辑IPO图
用户身份认证模块
输入 处理 输出
连接数据库表 连接数据库错误中断程序
捕捉错误
用户名 获取用户名
用户密码 获取用户密码
读USER-PAS
判断用户名是否存在
判断密码是否存在 提示信息
捕捉异常
判断用户权限是合法
隐藏登录窗口
显示主窗体
文件
USER-PASS表
2.选课模块
功能:接受学生选课信息
刷新学生课程表
界面:调用添加、删除模块,打印课表模块
将模块说明细化为详细逻辑
选课处理IPO图
输入 处理 输出
课程编号 为课程号过滤 输入课程编号异常提示
接受课程号
打开课程信息表
判断是添加或是删除
添加
检索课程表读该记录
若该记录存在
显示所选课程详细信息 执行添加语句
调用添加模块
将选课结果刷新
删除 执行删除语句
调用删除模块
将稳定课结果刷新
提交 课表:课程编号,课程名
调用打印课表模块文件
课程信息表
选课结果表
3. 课程申请模块
功能:接受输入的新添课程信息
将新课程信息存入课程信息表
删除旧课程
界面:调用已开课程信息表
调用申请修改程序
将模块细化为详细逻辑IPO图
课程管理模块
输入 处理 输出
课程编号 添加新课程
获取当前教师所选课程
打开已开课程表
查询是否存在该记录
若无该记录则是新课程
调用添加模块
提取课程编号
提取课程名称
提取课程简介
提交
若有该记录则不是新课程
出错处理 提示信息
删除旧课程
文件
课程信息表
软件测试
输入数据
有效等价类
无效等价类
证件号码
1、6位数字字符
2、有效数字字符
3、少于6个字符
4、大于6个字符
使用功能
5、选课
6、查询
7、输入其他文字
有效测试用例
测试数据 期望结果 测试范围
123456 输入有效 1
选课 输入有效 5
5
无效测试用例
测试数据
期望结果
测试范围
12jda1
输入无效
2
1234561
输入无效
4
12341
输入无效
3
12t21
输入无效
2、 3
排课
输入无效
7
(折半查找算法测试)2
测试名称:模块输入课程编号过滤的测试方案
a) 规定课程编号为输入4个字符,头两个字符为字母,后2个字符为数字例如TP38
b) 测试方法采用黑盒测试法中的等价类划分法
划分等价类
输入数据
有效等价类
无效等价类
课程号
1 两字母+两数字
2有非数字或字母
字母
3 A--Z
4字母少于两个或多于两个
数字
5 00--99
6数字少于两个或多于两个
为有效等价类和每个无效等价类设计测试用例
测试数据
期望结果
测试范围
HY76
输入有效
1、3、5
@D78
输入无效
2
S86
输入无效
4
MA2
输入无效
6
HY345
输入无效
6
DEH94
输入无效
4
测试名称:课程查找模块设计测试方案
a) 本模块采用的是折半查找算法主要是测试各程序在各种典型情况下是不能有效的进行查找
b) 测试方案采用选择白盒测试法中的路径覆盖法
说明:由于输入的课程编号已经被过滤,所以编号接受的范围为00--99
工程设计变更的流程?
工程变更的流程如下:提出工程变更申请报告。填报变更原因、相关图纸和变更工程量和造价等。监理公司审核工程变更必要性和可行性,审核工程变更造价合理性,审核工程变更对工期的影响,并签署审核意见;设计单位审核工程变更图纸审核相关图纸是否满足设计规范,是否符合原设计要求,并签署审核意见。建设单位按相关规定的审批权限进行申报或批复。建设单位项目主管按上级领导批复意见向监理公司出具工程变更审批意见,明确变更是否执行。监理公司下发工程变更通知令,在变更通知中明确变更工程项目的详细内容、变更工程量、变更项目的施工技术要求、质量标准、相关图纸,明确变更工程的预算造价和工期影响。承包商按工程变更通知令执行工程变更,如承包商对工程变更持有异义,承包商也应遵照执行,并在7天内向监理公司提交争议,协商解决。
软件设计的基本步骤是什么
软件开发是指一个软件项目的开发,如市场调查,需求分析,可行性分析,初步设计,详细设计,形成文档,建立初步模型,编写详细代码,测试修改,发布等。
软件是怎么样开发出来的
第一个步骤是市场调研,技术和市场要结合才能体现最大价值。
第二个步骤是需求分析,这个阶段需要出三样东西,用户视图,数据词典和用户操作手 册。
用户视图 是该软件用户(包括终端用户和管理用户)所能看到的页面样式,这里面包含了 很多操作方面的流程和条件。
数据词典 是指明数据逻辑关系并加以整理的东东,完成了数据词典,数据库的设计就完成了一半多。
用户操作手册是指明了操作流程的说明书。
请注意,用户操作流程和用户视图是由需求决定的,因此应该在软件设计之前完成,完成这些,就为程序研发提供了约束和准绳,很遗憾太多公司都不是这样做的,因果颠倒,顺序不分,开发工作和实际需求往往因此产生隔阂脱节的现象。
需求分析,除了以上工作,笔者以为作为项目设计者应当完整的做出项目的性能需求说明 书,因为往往性能需求只有懂技术的人才可能理解,这就需要技术专家和需求方(客户或公司市场部门)能够有真正的沟通和了解。
第三个步骤是概要设计,将系统功能模块初步划分,并给出合理的研发流程和资源要求。
作为快速原型设计方法,完成概要设计就可以进入编码阶段了,通常采用这种方法是因为涉及的研发任务属于新领域,技术主管人员一上来无法给出明确的详细设计说明书,但是 并不是说详细设计说明书不重要,事实上快速原型法在完成原型代码后,根据评测结果和 经验教训的总结,还要重新进行详细设计的步骤。
第四个步骤是详细设计,这是考验技术专家设计思维的重要关卡,详细设计说明书应当把 具体的模块以最’干净’的方式(黑箱结构)提供给编码者,使得系统整体模块化达到最 大;一份好的详细设计说明书,可以使编码的复杂性减低到最低,实际上,严格的讲详细 设计说明书应当把每个函数的每个参数的定义都精精细细的提供出来,从需求分析到概要 设计到完成详细设计说明书,一个软件项目就应当说完成了一半了。换言之,一个大型软 件系统在完成了一半的时候,其实还没有开始一行代码工作。
那些把作软件的程序员简单理解为写代码的,就从根子上犯了错误了。
第五个步骤是编码,在规范化的研发流程中,编码工作在整个项目流程里最多不会超过1/ 2,通常在1/3的时间,所谓磨刀不误砍柴功,设计过程完成的好,编码效率就会极大提 高,编码时不同模块之间的进度协调和协作是最需要小心的,也许一个小模块的问题就可能影响了整体进度,让很多程序员因此被迫停下工作等待,这种问题在很多研发过程中都 出现过。
编码时的相互沟通和应急的解决手段都是相当重要的,对于程序员而言,bug永 远存在,你必须永远面对这个问题,大名鼎鼎的微软,可曾有连续三个月不发补丁的时候 吗?从来没有!
第六个步骤是测试
测试有很多种:
按照测试执行方,可以分为内部测试和外部测试
按照测试范围,可以分为模块测试和整体联调
按照测试条件,可以分为正常操作情况测试和异常情况测试
按照测试的输入范围,可以分为全覆盖测试和抽样测试
以上都很好理解,不再解释。
总之,测试同样是项目研发中一个相当重要的步骤,对于一个大型软件,3个月到1年的外部测试都是正常的,因为永远都会又不可预料的问题存在。
完成测试后,完成验收并完成最后的一些帮助文档,整体项目才算告一段落,当然日后少不了升级,修补等等工作,只要不是想通过一锤子买卖骗钱,就要不停的跟踪软件的运营 状况并持续修补升级,直到这个软件被彻底淘汰为止。
什么是软件开发的核心问题
按照软件工程鼻祖,《人月神话》作者 Brooks 在“没有银弹——软件工程中的根本和次要问题”一章中阐述的思想,软件开发的核心问题就是如何从概念上对一个复杂的业务系统进行建模。这个建模是含义广泛的,不仅仅包括对象建模,还包括数据建模、算法建模等等一系列的内容。总而言之是要先找到解决复杂问题的突破口(先要搞明白需要做什么,然后再考虑如何做)。至于采用什么表示方法(简单文本、UML 图、E-R 图)、采用什么高级语言、是否一定要用面向对象、使用什么开发工具都是次要的问题。
软件开发方法
软件开发方法(Software Development Method)是指软件开发过程所遵循的办法和步骤。
软件开发活动的目的是有效地得到一些工作产物,也就是一个运行的系统及其支持文档,并且满足有关的质量要求。软件开发是一种非常复杂的脑力劳动,所以经常更多讨论的是软件开发方法学,指的是规则、方法和工具的集成,既支持开发,也支持以后的演变过程(交付运行后,系统还会变化,或是为了改错,或是为了功能的增减)。
关于组成软件开发和系统演化的活动有着各种模型(参见软件生存周期,软件开发模型,软件过程),但是典型地都包含了以下的过程或活动:分析、设计、实现、确认(测试验收)、演化(维护)。
有些软件开发方法是专门针对某一开发阶段的,属于局部性的软件开发方法。
特别是软件开发的实践表明,在开发的早期阶段多做努力,在后来的测试和维护阶段就会使费用较大地得以缩减。因此,针对分析和设计阶段的软件开发方法特别受到重视。其它阶段的方法,从程序设计发展的初期起就是研究的重点,
已经发展得比较成熟(参见程序设计,维护过程)。除了分阶段的局部性软件开发方法之外,还有覆盖开发全过程的全局性方法,尤为软件开发方法学注意的重点。
对软件开发方法的一般要求:当提出一种软件开发方法时,应该考虑许多因素,包括:
①覆盖开发全过程,并且便于在各阶段间的过渡;
②便于在开发各阶段中有关人员之间的通信;
③支持有效的解决问题的
④支持系统设计和开发的各种不同途径;
⑤在开发过程中支持软件正确性的校验和验证;
⑥便于在系统需求中列入设计、实际和性能的约束;
⑦支持设计师和其他技术人员的智力劳动;
⑧在系统的整个生存周期都支持它的演化;
⑨受自动化工具的支持。此外,在开发的所有阶段,有关的软件产物都应该是可见和可控的;软件开发方法应该可教学、可转移,还应该是开放的,即可以容纳新的技术、管理方法和新工具,并且与已有的标准相适应。
软件开发流程
需求确认——概要设计——详细设计——编码——单元测试——集成测试——系统测试——维护
需求确认:需求规格说明书
概要设计:系统用例图,用例场景
详细设计:系统设计报告,数据库设计报告
测试:测试用例报告
制作流程图用什么软件好?在线等的,谢谢!
推荐3个制作流程图的工具:
1、Visio很好用,很强大,微软出的,水平好的可以用它制作出任何东西来(水平一般的就会做得比较难看,这和微软风格有关,默认的都没啥美感);
2、EDraw(亿图),又强大又好用,很容易上手,做出来的东西也漂亮,功能也符合大多数的流程图需求,还能导出多种格式(位图和矢量都可以);
3、Axure,这个主要是用来进行软件原型线框设计的,同时具有流程图功能,特点是非常简洁易用,如果作很单纯的说明性的流程图(注重功能讲解的),用这个很方便。
其中,EDraw和Axure都有试用版的,试用版在流程图的绘制功能上都是没有限制的,你尽可以用它们来完成任务。你可以试试看,是不是你想要的。
另外,单从作美观的流程图的角度考虑,个人很推荐EDraw。
软件开发的一般流程是什么?_?
软件开发一般分为五个阶段:
1.问题的定义及规划
此阶段是软件开发与需求放共同讨论,主要确定软件的开发目标及其可行性。
2.需求分析
在确定软件开发可行性的情况下,对软件需要实现的各个功能进行详细需求分析。需求分析阶段是一个很重要的阶段,这一阶段做的好,将为整个软件项目的开发打下良好的基础。“唯一不变的是变化本身”,同样软件需求也是在软件爱你开发过程中不断变化和深入的,因此,我们必须定制需求变更计划来应付这种变化,以保护整个项目的正常进行。
3.软件设计
此阶段中偶要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计、数据库设计等。软件设计一般分为总体设计和详细设计。还的软件设计将为软件程序编写打下良好的基础。
4.程序编码
此阶段是将软件设计的结果转化为计算机可运行的程序代码。在程序编码中必定要制定统一、符合标准的编写规范。以保证程序的可读性、易维护性。提高程序的运行效率。
5.软件测试
在软件设计完成之后要进行严密的测试,一发现软件在整个软件设计过程中存在的问题并加以纠正。整个测试阶段分为单元测试、组装测试、系统测试三个阶段进行。测试方法主要有白盒测试和黑盒测试。
以上就是软件开发过程的五个阶段,但是有的时候在软件爱你开发过程中并不是必须按照这个过程进行的。
*^_^* 求采纳
(#Д)
哪个免费的流程图制作软件最好用
免费的可以用word来画流程图,word里面有个插入smartart,虽然操作复杂了一点,但是画一些简单的流程图,还是可以的。
如果你想要效果好一点的,可以用专业的流程图软件,比如亿图图示这种,专门的流程图模板和例子,还有流程图相关的符号,就是用来表示流程、判定或者数据等的图形。比如说下面这种:
除了这些图形,在绘图方面也要方便很多,比如说图形和图形之间的连接、后期对流程进行修改等等。
画好图之后,分享给同事、朋友,或者转成word、ppt、图片、pdf等格式,也是很方便的。
详细的软件工程开发流程是什么?从架构设计、详细设计、编码到测试,越详细越好,谢谢啦~~·
需求分析、设计、编码、测试、维护
需求分析
软件需求分析就是回答做什么的问题。它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言(形式功能规约,即需求规格说明书)表达出来的过程。本阶段的基本任务是和用户一起确定要解决的问题,建立软件的逻辑模型,编写需求规格说明书文档并最终得到用户的认可。需求分析的主要方法有结构化分析方法、数据流程图和数据字典等方法。本阶段的工作是根据需求说明书的要求,设计建立相应的软件系统的体系结构,并将整个系统分解成若干个子系统或模块,定义子系统或模块间的接口关系,对各子系统进行具体设计定义,编写软件概要设计和详细设计说明书,数据库或数据结构设计说明书,组装测试计划。
设计
软件设计可以分为概要设计和详细设计两个阶段。实际上软件设计的主要任务就是将软件分解成模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元。可以是一个函数、过程、子程序、一段带有程序说明的独立的程序和数据,也可以是可组合、可分解和可更换的功能单元。模块,然后进行模块设计。概要设计就是结构设计,其主要目标就是给出软件的模块结构,用软件结构图表示。详细设计的首要任务就是设计模块的程序流程、算法和数据结构,次要任务就是设计数据库,常用方法还是结构化程序设计方法。
编码
软件编码是指把软件设计转换成计算机可以接受的程序,即写成以某一程序设计语言表示的"源程序清单"。充分了解软件开发语言、工具的特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。 当前软件开发中除在专用场合,已经很少使用二十世纪80年代的高级语言了,取而代之的是面向对象的开发语言。而且面向对象的开发语言和开发环境大都合为一体,大大提高了开发的速度。
测试
软件测试的目的是以较小的代价发现尽可能多的错误。要实现这个目标的关键在于设计一套出色的测试用例(测试数据和预期的输出结果组成了测试用例)。如何才能设计出一套出色的测试用例,关键在于理解测试方法。不同的测试方法有不同的测试用例设计方法。两种常用的测试方法是白盒法测试对象是源程序,依据的是程序内部的的逻辑结构来发现软件的编程错误、结构错误和数据错误。结构错误包括逻辑、数据流、初始化等错误。用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。白盒法和黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部/外部接口、资源管理、集成化以及系统错误。黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。黑盒法。
维护
维护是旨在已完成对软件的研制(分析、设计、编码和测试)工作并交付使用以后,对软件产品所进行的一些软件工程的活动。即根据软件运行的情况,对软件进行适当修改,以适应新的要求,以及纠正运行中发现的错误。编写软件问题报告、软件修改报告。
转载请注明出处51数据库 » 软件设计更改流程 急求软件设计变更相关流程