产品说明书和用户文档集撰写要求概论
软件工程概论_北京联合大学中国大学mooc课后章节答案期末考试题库2023年
软件工程概论_北京联合大学中国大学mooc课后章节答案期末考试题库2023年
1.需求不明确或可能发生变化的大型复杂软件系统适合使用瀑布模型来开发。
参考答案:
错误
2.V模型是对瀑布模型的修正,强调测试验证;V模型中的各个开发阶段之间
强调最大重叠。
参考答案:
错误
3.在需求工程中,主要产生三类重要的文档:项目前景和范围文档、用户需求
文档、需求规格说明书。其中,用例文档可以用来代替用户需求文档,起到记录、交流领域信息和用户期望的作用。
参考答案:
正确
4.软件结构设计是()。
参考答案:
从数据流图导出初始结构图
5.模块化、信息隐藏、抽象和逐步求精的软件设计原则有助于得到高内聚、低
耦合的软件产品。
参考答案:
正确
6.在软件生存周期各个阶段,工作量最大的是需求分析阶段。
参考答案:
错误
7.快速原型模型的缺点之一就是缺少项目标准,不断修改原型可能导致原型质
量低下;容易退化为边做边改。
参考答案:
正确
8.与设计测试用例无关的文档是()。
参考答案:
项目开发计划
9.软件的几种维护中,以()占比最高。
参考答案:
完善性维护
10.软件测试用例主要由输入数据和()两部分组成。
参考答案:
预期输出结果
11.软件开发全过程的测试工作都可以实现自动化。
参考答案:
错误
12.如果一个变量在整个程序运行期间都存在,但是仅在说明它的函数内是可见
的,这个变量的存储类型应该被说明为()。
参考答案:
内部变量
13.不属于白盒测试的技术是()。
参考答案:
边界值分析
14.项目的前景和范围文档、用户需求文档都被视为属于(),重点都是用户
的现实世界。
参考答案:
软件工程概论5 :需求分析-结构化方法-带习题
• 是一种介于自然语言和形式化语言之间 的语言
• 语言的正文用基本控制结构进行分割, 加工中的操作用自然语言短语来表示
• 其基本控制结构有三种:
– 简单陈述句结构:避免复合语句; – 重复结构:WHILE_DO 或
是否都已充分说明;
8. 设计的约束条件或限制条件是否符合实际; 9. 开发的技术风险是什么;
10. 是否考虑过软件需求的其它方案;
11. 是否考虑过将来可能会提出的软件需求;
12. 是否详细制定了检验标准,它们能否对系统定 义是否成功进行确认;
需求分析流程
1 5
2 3
6 4
软件需求分析的原则
• 需要能够表达和理解问题的信息域和功能域 • 要能以层次化的方式对问题进行分解和不断细化 • 要给出系统的逻辑视图
面向数据流的结构化分析方法
• 具体来说,就是用抽象模型的概念,按照 软件内部数据传递、变换的关系,自顶向 下逐层分解,直到找到满足功能要求的所 有可实现的软件为止
• 结构化分析方法使用工具:数据流图,数 据词典,结构化英语,判定表与判定树
数据流图
• 数据流图中的主要图形元素
描述银行取款过程的数据流图
• 存取行=日期+(摘要)+支出+存入+余额+ 操作+复核
软件工程概论
软件的特点
软件是一种逻辑实体,而不是具体 的物理实体。因而它具有抽象性 软件的生产与硬件不同,在它的开 发过程中没有明显的制造过程 在软件的运行和使用期间,没有硬 件那样的机械磨损,老化问题
软件的开发和运行常受到计算机系 统的限制,对计算机系统有着不同 程度的依赖性 软件的开发至今尚未完全摆脱手工 艺的开发方式 软件本身是复杂的 实际问题的复杂性 程序逻辑结构的复杂性 软件成本相当昂贵 相当多的软件工作涉及到社会因素
软件生存期 life cycle
软件有一个孕育、诞生、成长、成 熟、衰亡的生存过程。这个过程即 为计算机软件的生存期 软件生存期的六个步骤,即制定计 划、需求分析、设计、程序编码、 测试及运行维护
瀑布模型
制定计划
确定要开发软件系统的总目标 给出功能、性能、可靠性以及接口 等方面的要求 完成该软件任务的可行性研究 估计可利用的资源 (硬件,软件,人 力等)、成本、效益、开发进度 制定出完成开发任务的实施计划, 连同可行性研究报告,提交管理部 门审查
需求分析和定义
对用户提出的要求进行分析并给出 详细的定义 编写软件需求说明书或系统功能说 明书及初步的系统用户手册
提交管理机构评审
软件设计
软件工程概论基础概念
软件的概念:
软件是能够完成预定功能和性能,并对相应数据进行加工的程序和描述程序及其
操作的文档。(它是包括程序,数据及其相关文档的完整集合。)
软件= 程序+数据+文档
程序= 算法+数据结构
软件危机:指在计算机软件的开发和维护过程中,所遇到的一系列严重问题。
软件危机主要包括的问题(两方面):
①如何开发软件,以满足对软件日益增长的需求。
②如何维护数量不断膨胀的已有软件。
软件工程:
① 把系统的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程应用于软件中。
②对① 中提到的各种方法的研究。
软件工程包括“管理”和“技术”两方面内容:
管理——对人、财、物的合理使用和配置;
技术——指软件开发中采用的方法、工具和过程。
软件工程方法学三要素:工具、方法和过程。
软件工程目标:
在给定成本、进度的前提下,开发出具有
可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可追踪性、可移植性、可互操作性
并满足用户需求的软件产品。
软件工程原则:
在软件开发过程中,为了达到软件开发目标,必须遵循下列原则:
1.抽象
2.信息隐藏
3.模块化
4.局部化
5.一致性
6.完整性
7.可验证性
软件生命周期:
软件产品从形成概念开始,经过开发、运行和维护直到退役的全过程称为软件生命(存)周期。软件生命周期组成:包括软件定义、软件开发、软件运行与维护三部分。
软件过程:
1.为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
2.软件过程是软件工程三要素之一。
3.通常用软件生命周期模型来描述。
软件工程技术系列培训之产品线工程概论
功能特点以及品牌形象等,形成差异化竞争优势。
产品线架构设计与原则
设计产品线整体架构
根据产品定位和差异化优势,设计产 品线的整体架构,包括产品分类、功 能模块、技术平台等。
考虑未来发展和升级
在设计过程中,预留未来发展和升级 的空间,确保产品线能够持续满足市 场需求和技术发展。
制定设计原则和规范
明确产品线设计应遵循的原则和规范, 如一致性、可扩展性、可维护性、安 全性等。
敏捷开发方法应用
1 2
敏捷开发核心理念 以人为本、可持续的开发、适应变化、快速迭代。
敏捷开发常用方法 Scrum、Kanban、XP(极限编程)等。
3
敏捷开发在产品线工程中的应用 通过短周期迭代,快速响应需求变化,提高开发 效率。
持续集成与持续交付实现
01
持续集成(CI)
频繁地(一天多次)将代码集成到主干,通过自动化构建验证代码质量。
持续改进计划
根据评估结果,制定持续改进计划,不断提 升用户体验水平。
05
团队协作与沟通机制建 立
跨部门协作模式探索
跨部门协作流程梳理 明确各部门职责与协作节点,优化跨 部门协作流程。
协作工具与平台选择
选用适合团队需求的协作工具和平台, 提高协作效率。
跨部门项目管理
建立跨部门项目管理机制,确保项目 进度和质量。
信息系统建设概论
第4章 信息系统建设概论
4.2.6 演化模型与螺旋模型 图 4.2 描 述 的 开 发 过 程 称 为 瀑 布 模 型 ( watefall
model)。它适用于事先能完整定义需求的系统开发。 对事先不能或者很难完整定义需求的系统,可以
采用演化模型(evolutional model)。用户可以先给出待 开发系统的核心需求,实现这些需求之后,提出有效 的反馈,支持其他部分的设计和实现。
第4章 信息系统建设概论
4.3.1 静态建模 建立管理模型,首先要进行静态建模型。静态特
征主要反映现实世界中“有什么”或“是什么”,如 有关的对象、对象的属性、对象之间的关系等。
静态建模的方法很多。实际应用最广泛、理论上 最成熟的是实体关系ER模型。图4.6是一个工厂库存 管理的ER图,图中长方形表示实体,椭圆表示实体的 属性,菱形表示实体间的关系,连线上的字母或数字 表示关系的基数。
(1)面向用户的观点:用户的要求是系统开发的出发 点和归宿。
(2)严格区分工作阶段,每个阶段有明确的任务和应 得的成果。
第4章 信息系统建设概论
(3)按照系统的观点,自顶向下地完成系统的研制工作 (4)充分考虑变化的情况:管理信息系统的环境在不断 变化之中,因此用户对系统的要求也在不断变化之中。 (5)工作成果文献化、标准化:为保证工作的连续性, 每个开发阶段的成果都要用文字、图表表达出来,资料格 式要标准化、格式化。
图书管理系统用户使用说明书
图
书
信
息
管
理
系
统
用户使用说明书
目录
1引言.... .. (3)
1.1编写目的 (3)
1.2背景 (3)
1.3定义 (3)
1.4参考资料 (4)
2用途 (4)
2.1功能 (4)
2.2性能 (5)
2.2.1精度 (5)
2.2.2时间特性 (5)
2.2.3灵活性 (5)
2.3安全 (6)
3运行环境 (6)
3.1硬设备 (6)
3.2支持软件 (6)
3.3数据结构 (7)
4使用过程 (9)
4.1安装与初始化 (9)
4.2输入/输出 (9)
4.2.1输入数据的现实背景 (9)
4.2.2输出数据的现实背景 (10)
4.2.3输入格式 (10)
4.2.4输出数据 (10)
4.2.5输入/输出举例 (11)
4.3文卷查询 (16)
4.4出错处理和恢复 (17)
4.5终端操作 (17)
1引言
1.1编写目的
编制目的是说明一个软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑。
本产品是针对电脑管理图书的需求设计的,主要包括管理员管理模块和学员自助服务模块。其中,管理员管理模块可以完成读者登记、购入新书、图书检索、读者借还书、图书注销等主要功能,学员自助服务模块可以完成学员电子阅读,图书检索功能。
1.2背景
本项目的名称:图书馆管理系统开发软件。
本项目的任务提出者及开发者是图书管理系统软件开发小组,小组成员包括代明、向阳和良。
用户是理工大学图书馆、图书管理员及相关读者用户。
1.3定义
主键(Primary Key) :每一笔资料中的主键都是表格中的唯一值。换言之,它是用来独一无二地确认一个表格中的每一行资料。
软件工程概论
软件工程
1、软件危机:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题;包含两方面的问题:
1如何开发软件,以满足对软件日益增长的需求;2如何维护数量不断膨胀的已有软件;
2、软件危机的主要表现:
1对软件开发成本和进度的估计经常很不准确;
2用户对“已完成的”软件系统不满意的现象经常发生;
3软件产品的质量往往靠不住;
4软件常常是不可维护的;
5软件通常没有适当的文档资料;
6软件成本在计算机系统总成本中所占的比例逐年上升;
7软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势;
3、产生软件危机的原因
1从软件特点上看,软件是逻辑部件,不是物理部件;
2软件是很大的程序,复杂且有很多技术问题,但缺少严格而科学的管理;
3软件的参与人员多且成分复杂需求人员,开发人员,用户,维护人员等;
4在软件实践过程中或多或少的采用的错误的但当时无法知晓的方法和技术这是主要原因
4、消除软件危机的途径
1首先应该对计算机软件有一个正确的认识;
2更重要的是,必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目;
3应该推广使用在实践中总结出来的开发软件的成功的技术和方法,并且研究探索更好更有效的技术和方法,尽快消除在计算机系统早期发展阶段形成的一些错误概念和做法;
4应该开发和使用更好的软件工具
总之,为了解决软件危机,既要有技术措施方法和工具,又要有必要的组织管理措施;
5、软件工程:软件工程是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科;
概要设计说明书经典范文
概要设计说明书
一.引言
1.编写目的
从该阶段开发正式进入软件的实际开发阶段,本阶段完成系统的大致设计并明确系统的数据结构与软件结构。在软件设计阶段主要是把一个软件需求转化为软件表示的过程,这种表示只是描绘出软件的总的概貌。本概要设计说明书的目的就是进一步细化软件设计阶段得出的软件总体概貌,把它加工成在程序细节上非常接近于源程序的软件表示。
2.项目背景(略)
3.定义
在该概要设计说明书中的专门术语有:
总体设计
接口设计
数据结构设计
运行设计
出错设计
具体的概念与含义在文档后将会解释。
4.参考资料
李存珠李宣东编著南京大学计算机系出版 2001年8月
二.任务概述
1.目标
该阶段目的在于明确系统的数据结构和软件结构,此外总体设计还将给出内部软件和外部系统部件之间的接口定义,各个软件模块的功能说明,数据结构的细节以及具体的装配要求。
2.运行环境
软件基本运行环境为Windows环境。
3.需求概述(略)
4.条件与限制
为了评价该设计阶段的设计表示的“优劣程度”,必须遵循以下几个准则:
1.软件设计应当表现出层次结构,它应巧妙地利用各个软件部件之间的控制关系。
2.设计应当是模块化的,即该软件应当从逻辑上被划分成多个部件,分别实现各种特定功能和子功能。
3.设计最终应当给出具体的模块(例如子程序或过程),这些模块就具有独立的功能特性。
4.应当应用在软件需求分析期间得到的信息,采取循环反复的方法来获得设计。
三.总体设计
1.处理流程
系统的总体处理数据流程如下图:
图八总体处理流程图
2.总体结构和模块外部设计
模块是软件结构的基础,软件结构的好坏完全由模块的属性体现出来,把软件模块化的目的是为了降低软件复杂性,使软件设计,测试,调试,维护等工作变得简易,但随着模块数目的增加,通过接口连接这些模块的工作量也随之增加。从这些特性可得出如图九的一条总的成本(或工作量)曲线,在考虑模块化时,应尽量使模块数接近于图中的M,它使得研制成本最小,而且应尽量避免不足的模块化或超量。
软件工程概论
云化改造
将遗留系统迁移到云平台,利 用云计算资源实现弹性扩展和 按需付费。
07 软件项目管理基础
项目团队组建与角色划分
项目经理
负责项目的整体规划和协调,确保项目按 照预定目标进行。
文档编写人员
负责编写项目相关文档,如用户手册、技 术报告等。
系统分析师
对项目需求进行深入分析,设计系统架构 和解决方案。
02
螺旋模型强调风险管理的重要性,通过不断识别、评估和缓解
风险来确保项目的成功。
客户参与
03
客户在螺旋模型中扮演重要角色,通过与开发团队的紧密合作
来确保软件满足用户需求。
敏捷开发模型
快速响应变化
敏捷开发模型强调快速响应需求 变化的能力,通过短周期的迭代 和持续反馈来及时调整开发计划。
高度协作
敏捷开发团队通常采取自组织、 跨职能的方式工作,强调团队成 员之间的紧密协作和沟通。
软件工程目标与方法
螺旋模型
在瀑布模型的基础上引入风险分析, 采用迭代的方式逐步开发和完善软件。
敏捷开发方法
强调快速响应需求变化和团队协作, 采用短周期迭代的方式进行软件开发。
02 软件开发过程模型
瀑布模型
1 2
线性顺序
瀑布模型按照线性顺序进行软件开发,包括需求 分析、设计、编码、测试和部署等阶段。
算法设计
第4章 概要设计
4.2 模块独立性
3.
4.
特征耦合(stamp coupling)/标记耦合:两个模块 都要使用同一数据结构的一部分,不是采用全程公 共数据区共享,而是通过模块接口传递数据结构的 一部分(不是简单的数据)。 控制耦合(control coupling):两模块间通过参数 交换信息,而传递的信息中含有控制信息。
A A A A
Common公共数据区 a) 松散的公共耦合
Common公共数据区 b) 紧密的公共耦合
4.2 模块独立性
7.
内容耦合(content coupling) 一个模块直接访问另一个模块的内部数据; 一个模块不通过正常入口转到另一模块内部; 两个模块有一部分程序代码重叠; 一个模块有多个入口; …
数据库 检索记录 格式化 格式化后的结果集 结果显示 检索 检索结果
结果集
4.3 结构化设计方法
试探方法 从数据流图的物理输入端开始,一步一步向系统的 中间移动,找到离物理输入端最远的,但仍被看做 是系统输入的数据流,即系统的逻辑输入。 从数据流图的物理输出端开始,一步一步向系统的 中间移动,找到离物理输出端最远的,但仍被看作 是系统输出的数据流,即系统的逻辑输出。 从物理输入端到逻辑输入,构成系统的输入部分; 从物理输出端到逻辑输出,构成输出部分;夹在输 入部分和输出部分之间的就是中心变换部分。
软件工程(复旦大学) 概论
函数式语言(functional programming language)中函数是构造程序的基本成分,它提 供一些设施用于构造更为复杂的函数。程序人 员根据提出的问题去定义求解函数(即主程 序),其中可能包含一些辅助函数。如Lisp语 言。 逻辑式语言(logic programming language)的 基本运算单位是谓词。谓词定义了变元间的逻 辑关系。例如,Prolog语言的基本形式是Horn 子句,其程序围绕着某一主题的事实、规则和 询问三类语句组成。这三类语句分别用来陈述 事实、定义规则和提出问题。 33/154
10/154
• 1956-1968年
从实用的高级程序语言出现到软件工程出现前 存储器容量大,外围设备得到迅速发展,出现 了高级程序设计语言 应用领域包括数据处理(非数值数据),其特 点是计算量不大,但输入、输出量却较大 高速主机与低速外围设备的矛盾突出,出现了 操作系统、并发程序、数据库及其管理系统 20世纪60年代初提出了软件一词,开始认识到 文档的重要性 研究高级程序设计语言、编译程序、操作系统、 支持编程的工具及各种应用软件 工作方式逐步从个体方式转向合作方式 出现软件危机 11/154
– 程序是计算任务的处理对象和处理规则的描述
• 计算任务:任何以计算机为处理工具的任务 • 处理对象:数据(如数据、文字、图形、图像、声音等,它们 只是表示,而无含义)或信息(数据及有关的含义) • 处理规则一般指处理的动作和步骤。程序必须装入计算机内才 能工作
(完整word)产品需求设计规格说明书
会员产品设计规格说明书
版本〈1。0〉
1. 概述3
2。引用3
3. 体系结构设计4
3。1 业务处理流程图4
3.2 主要对象及关系模型4
这里主要描述会员处理程序的类图及关系 (4)
3。2.1 用户界面的主要类图(窗口) (4)
3。2.2 业务类图 (4)
3.2.3 实体关系图(E—R图) (4)
3。3 产品-部件结构图4
3。3。1 一级部件结构图(功能部分,不涉及服务部分) (4)
3。3。2 二级部件结构图 (7)
3.4 功能需求与部件对照表9
4。性能设计10
5. 对外接口设计10
6. 产品部署设计10
6.1 系统部署10
6.2 产品交付文件定义10
6。3 产品及功能间依赖关系11
6.3。1 组件图 (11)
6.3.2 产品关系表 (11)
6。4 升级设计11
1.概述
2.引用
3.体系结构设计
3.1业务处理流程图
主干业务处理流程图:
3.2主要对象及关系模型
要求:
通过UML类图描述
可借此图,迅速找到本应用的部件、公用部件、公用类或本应用的部件的子类
可反映清晰的部件关系、部件及公用部件/公用类之间的关系
如果一个部件有几个类,一并描绘
一般画一层类图即可.如果应用比较复杂,要考虑画出二层类图
这里主要描述会员处理程序的类图及关系
3.2.1用户界面的主要类图(窗口)
3.2.2业务类图
3.2.3实体关系图(E-R图)
3.3产品-部件结构图
要求:
用树状菜单结构描述
一级菜单描述子系统(产品)、二级菜单部件分类、三级菜单部件
对部件编号=产品包代码+部件标识
3.3.1一级部件结构图(功能部分,不涉及服务部分)
3.3.1.1基础应用组
软件工程概论知识点
软件工程概论知识点总结
第一章
软件定义:是计算机系统中与硬件相互依存的另一部分,包括程序、数据和相关文档的完整集合。
软件特性:形态特性、智能特性、开发特性、质量特性、生产特性、管理特性、环境特性、维护特性、废弃特性、应用特性。
软件分类。 (1) 系统软件 (2) 应用软件 (3) 支撑软件 (4) 可复用软件
软件危机的原因:1)缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作的计划很难制定。2)软件人员与用户的交流存在障碍,除了知识背景的差异,缺少合适的交流方法和需求描述工具也是重要的一个原因。3)软件开发过程不规范,缺少方法论和规范的指导,软件难以维护。4)随着软件规模的增大,其复杂性往往会呈指数级升高。5)缺少有效的软件评测手段,提交用户的软件质量差
软件工程的定义:
1.指导软件开发和维护的工程性学科,它以计算机科学理论和其他相关学科的理论为指导,采用工程化的概念、原理技术和方法进行软件的开发和维护,把经过时间考虑而证明是正确的管理技术和当前能够得到的最好的技术方法结合起来,以较少的代价获得高质量的软件并维护
2.软件工程的目标:运用先进的软件开发技术和管理方法来提高软件的质量和生产率,也就是要以较短周期、较低的成本生产出高质量的软件产品,并最终实现软件的工业化生产。
3.软件的生存周期:软件孕育、诞生、成长、成熟、衰亡的生存过程。由软件定义、软件开发和运行维护三个时期组成。软件定义:解决“做什么”的问题;软件开发:解决“如何做”的问题,分为概要设计、详细设计、编码和测试四个阶段;维护:使软件持久的满足用户的需求。
软件工程概论
软件工程
•概述
o软件
▪定义
•软件 = 程序 + 数据 + 文档
o数据
▪程序加工处理的对象。
▪包括数据的表示、组织与存储。
▪数据 = 初始化数据 + 测试数据
o文档
▪开发、使用和维护程序所需的图文资料。
▪文档 = 开发文档+管理文档+用户文档+维护文档。
o程序
▪能完成预定功能和性能的指令集合。
o软件和程序的区别
▪程序只是完整软件产品的一部分。
▪编写程序只是软件开发过程数据中的一个阶段,一般来
说,其工作量仅仅是软件开发全部工作量的10%-
20%
▪软件的特点
•抽象性
o逻辑实体。可记录。但看不到,开发过程可视化程度低,开发
结果难以直观表示。
•可复制性
o与开发成本相比,复制成本很低。
•无折旧
•受硬件制约
•未完全摆脱手工工艺
•开发费用高
▪软件分类
•按适用范围分
o定制软件(Custom Software)项目软件
▪满足特定客户的特定需要的软件。例如网站。
o通用软件(Generic Software)产品软件
▪满足市场潜在客户的通用需求的商业成品软件。例如:
Office、Windows等。
•按软件功能分
o系统软件
▪管理计算机自身的资源、提高计算机的使用效率并为计
算机用户提供各种服务的基础软件。例如操作系统
OS、数据库管理系统DBMS等
o应用软件
▪解决某一具体领域的实际问题的软件。例如CAD。
o支撑软件
▪协助用户开发的工具软件,如编辑程序、程序库、图形
软件包等。
•按软件体系结构分
o桌面软件
▪全部工作由在单一机器上的一个软件系统完成。
o分布式软件
▪由多个软件协调工作来完成任务。例如客户端与服务器
C/S、浏览器与服务器B/S软件。
软件工程软件工程概论
面向服务的体系结构(Service-Oriented Architecture,SOA)是 一个组件模型,它将应用程序的不同功能单元(称为服务)通过
这些服务之间定义良好的接口和契约联系起来。接口是采用中立
的方式进行定义的,它应该独立于实现服务的硬件平台、操作系
统和编程语言。这使得构建在各种这样的系统中的服务可以一种 统一和通用的方式进行交互
• 第一步只是试验开发,其目标只是在于探 索可行性,弄清软件需求。
• 第二步则在此基础上获得较为满意的软件 产品。
螺旋模型
• 螺旋模型沿着螺线旋转• ,在四个象限上分别 表达了四个方面的活动,即:
• 制定计划──确定软件目标,选定实施方案, 弄清项目开发的限制条件。
• 风险分析──分析所选方案,考虑如何识别和 消除风险。
1.3 软件过程
•
软件开发模型给出了软件开发活动各阶段之 间的关系。
1.瀑布模型 2.快速模型 3.增量模型 4.螺旋模型 5.基于构件的开发模型 6.极限编程
可行性研究
1. 瀑布模型
需求分析
•
概要设计
详细设计
编码与调试
单元测试
组装测试
确认测试
运行与维护
退役
瀑布模型的特点
•
• 阶段间具有顺序性和依赖性: 1. 完成前一阶段开始后一阶段 2. 前一阶段的输出文档是后一阶段的输入文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
附件4:产品说明的提交要求
说明:红字条款可根据软件产品实际情况进行剪裁,黑字条款为标准要求必须说明的项目。斜体字是对国家标准条款的解读或举例,仅供使用者参考。
一、产品说明:
【定义】
陈述软件各种性质的文档,目的是帮助潜在的需方在采购前对该软件进行适用性评价。
解读:产品说明为供方在进行产品销售时对产品性质的宣传资料,目的是让采购方获得产品概况,判断该产品是否能够满足自己的需求,进而决定是否采购该产品。
【要求】
产品说明对于需求方是可用的,包含潜在需方所需的信息,信息内容应排除内部的不一致,且与用户文档集和软件实际情况一致,产品说明的内容应该是可以验证或测试的,产品说明应有唯一性标识,当产品说明内容超出一页文档时,要有封面和目录,方便使用者进行内容查找。
【内容】
1、软件产品应以其名称、版本和日期指称;
解读:软件产品要用名称+版本或名称+日期命名。
例如:城市水资源管理系统软件V1.0或城市水资源管理系统软件2011。
2、产品说明应显示唯一的标识;
解读:产品说明在封面或卡片的显著位置显示唯一的产品标识。
例如:城市水资源管理系统软件V1.0产品说明。
3、产品说明应包含供方和至少一家销售商(当适用时)电子商务销售商或分销商的名称和地址(邮政的或网络的)。
解读:产品说明在封面或卡片的显著位置显示供方和销售商信息一般包括名称和地址,且供方和销售商可以为同一企业或个人。
4、产品说明应标识该软件能够完成的预期的工作任务和服务;
解读:此项描述软件的销售方向,适用的行业,潜在的客户群,概要介绍软件的用途。
例如:本软件为水务行业管理软件,适用于各供水公司、净水厂、水污染处理企业、政府水资源行业管理部门,可完成水资源相关业务的管理及实施对水资源处理装置的动态监控和实时处理。
5、供方想要声称软件产品符合由法律或行政机构界定的要求时,产品说明应标识出这些法律或行政机构界定的要求的需求文档;
解读:供方为加大产品的宣传力度,增强产品竞争力,更好的销售其软件产品,可表明其产品符合法律或行政机构界定的要求。但必须将符合的内容在产品说明中进行详细说明。
例如:本软件符合中华人民共和国水利行业标准SL475-2010水利信息公用数据元标准,该标准的详细信息参见附录一
6、产品说明应以适当的引用文档指名产品在何处依赖于特定软件和(或)硬件;解读:当产品在某些情况下需要依赖于特定的软件和(或)硬件才能实现其生成的产品性质时,要对这些特定的软件和(或)硬件进行描述,以便采购方在采购产品时能够合理评价采购成本。
例如:本软件在对水资源处理装置进行远程动态监控及实时处理时如传输距离超过50米需要信号放大器或无线信号发射器与无线信号接收器
7、产品说明引证已知的对其他软件的用户可调用的接口时,应标识出这些接口或软件;
解读:如果软件再使用过程中需要调用其他软件许可的接口时,应说明这些接口或软件从而使采购方在选择该产品时,明确还需购买其他接口许可或软件。
例如:本软件运行时需要调用水资源信息实时处理业务系统V1.0
8、产品说明应指明产品期望在单一系统上供多个并发最终用户使用或供一个最终用户使用,并且应说明在所要求的系统的所陈述的性能级别上可行的最大并发最终用户数;
例如:当软件支持并发时,此处可进行如下类似描述:本软件在单一系统上可供多个并发最终用户使用,在服务器主频大于3.0GHZ、内存大于2GB、响应时间小于5秒的情况下最大100并发最终用户。
当软件不支持并发时,此处可进行如下类似描述:本软件在单一系统上只供一个最终用户使用,不支持并发操作。
9、产品说明应陈述是否对运行COTS软件产品提供支持;
10、产品说明应陈述是否提供维护。如果提供维护,则产品说明应陈述所提供的维护服务。
11、产品特性说明:
11.1、功能性
(1)、适用时,产品说明应根据GB/T16260.1-2006包含有关功能性的陈述,要考虑适合性、准确性、互操作性、安全保密性以及功能性的依从性,并以书面形式展示可验证的依从性证据;
(2)、产品说明应提供该产品中最终用户可调用的功能的概述;
例如:本软件由人事管理功能、水资源实时处理功能、行政审批功能、取水管理功能、供水管理功能、污水处理管理功能组成。
(3)、产品说明应说明所有的关键功能;
例如:本软件的关键功能为:水资源实时处理功能、取水管理功能、供水管理功能、污水处理管理功能。
(4)、当有软件组件的选项和版本时,应予指明;
解读:软件在销售时某组件存在可选项或存在不同版本时,产品说明应明确说明,进而降低采购方采购成本。
例如:本软件的无线数据处理组件为可选项,用户可根据实际情况决定是否购买该组件或,其版本。
(5)、对用户功能性的所有已知的限制均应加以说明;
解读:说明哪些限制会对用户使用软件功能造成影响,比如最大值或最小值、密钥长度、单个文件中记录的最大数目、搜索准则的最大数目、最小样本规模等。
例如:本软件登录的用户名和密码为数字和字母组合,长度大于6位,小于18位,单个文件记录的最大数目为100条,可连接的外围设备小于100个。
(6)、当提供对软件的未授权访问(不管是偶然的还是故意的)的预防措施时,则产品说明应包含这种信息;
例如:登录窗口在三次输入错误密码的情况下自动关闭。
11.2可靠性
(1)、适用时,产品说明应根据GB/T16260.1-2006包含有关可靠性的陈述,要考虑成熟性、容错性、易恢复性以及可靠性的依从性,并以书面形式展示可验证的依从性证据;注:开发者不宜作出可靠性声称的陈述,除非能以服务的数据或其他可验证的数据证实所做的声称;在遇有用户接口出错、应用程序自身的逻辑出错、系统或网络资源可用性引发差错的情况下,产品说明应就软件的继续运行(即是可用的)能力作出说明;
(2)、产品说明应包括关于数据保存和恢复规程的信息;注:指明数据备份由操作系统的功能来执行也是可接受的。
11.3、易用性
(1)、适用时,产品说明应根据GB/T16260.1-2006包含有关易用性陈述,要考虑易理解性、易学性、易操作性、吸引性以及易用性的依从性,并以书面形式写出能够证实可验证的依从性证据。
(2)、产品说明应规定用户接口的类型;
解读:规定用户使用软件产品时通过什么方式与系统进行信息交互这些方式可以是命令行、菜单、视窗、 web浏览器、功能键、帮助功能等。
(3)、产品说明应规定使用和操作该软件所要求的专门知识;
解读:使用该软件应具有的知识,这些知识可以是使用的数据库调用和协议的知识、技术领
域的知识、操作系统的知识、经专门培训可获得的知识、产品说明中已写明的语言之外的其
他语言的知识。