软件工程中的一些基本概念整理

软件是计算机系统运行的指令数据和资料的集合
软件=程序+数据+文档+服务
程序是事先按照预定功能性能等要求设计和编写的指令序列
文档是与程序开发维护和使用有关的技术数据和图文资料。
数据是信息的表达方式和载体,是使程序正常进行处理的结构及表示
服务主要指对各种软件用户的服务,包括提供软件产品使用说明书、推销服务及售后技术支持。
软件危机:计算机软件的研发、运行、维护、管理过程中所遇到的一系列的问题。难以满足日益增长的需要、质量差。
软件危机主要表现:1.功能性能等问题或故障
2.可靠性质量安全不达标
3.开发管理差对成本与进度的估计常常不准
4.出现无法维护更新升级
5.无标准完整统一规范的文档资料。
6.开发效率低,无法满足计算机应用快速发展与更新升级的实际需要
7.研发成本无法控制
软件危机产生的主要原因
1.软件开发规模变大,复杂度与软件需求量增加
2.需求分析与设计考虑不周,软件开发维护管理不到位
3.开发过程没有统一的标准准则规范的指导方法
4.人员之间交流不够,文档资料不完备
5.测试调试不规范软件质量不达标
6.忽视了正常维护与管理。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                **PAD定义**

PAD是问题分析图(Problem Analysis Diagram)的英文缩写,自1974年由日本的二村良彦等人提出的又一种主要用于描述软件详细设计的图形表示工具。与方框图一样,PAD图也只能描述结构化程序允许使用的几种基本结构。发明以来,已经得到一定程度的推广。它用二维树形结构的图表示程序的控制流,以PAD图为基础,遵循机械的走树(Tree Walk)规则就能方便地编写出程序,用这种图转换为程序代码比较容易 特征:1)结构清晰,结构化程度高;2)易于阅读3)最左端的纵线是程序主干线,对应程序的第一层结构;每增一层PAD图向右扩展一条纵线,帮程序的纵线数等于程序层次数。4)程序执行:从PAD图最左主干线上端结点开始,自上而下、自左向右依次执行,程序终止于最左主干线
状态图
状态图(Statechart Diagram)是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应。通常我们创建一个UML状态图是为了以下的研究目的:研究类、角色、子系统、或组件的复杂行为。

软件配置的作用
软件配置主要包括软件需求规格说明、软件设计规格说明、源程序代码等。
软件配置管理的目的是建立和维护软件项目整个生命周期中工作产品的正确性、完整性和可追溯性。
详细设计的基本任务
主要完成对系统中模块的内部过程进行设计和描述。包括模块设计、过程设计、界面设计等。
主要任务:模块的算法设计、模块的数据结构设计、模块接口设计、其他相关设计(数据库、代码、网络、输入输出、人机界面设计)、模块测试用例设计、编写详细设计文档、详细设计评审及实现方案。
详细设计的步骤
简单介绍开发的管理信息系统
图书馆管理系统
教师资料管理系统
什么是静态测试
提高软件可维护性的措施
建立明确的软件质量目标和优先级,使用提高软件质量的技术和工具,选择便于维护的程序设计语言,采取明确的、有效的质量保证审查措施,完善维护程序的文档。
文档在软件工程中的作用
文档是与程序开发维护和使用有关的技术数据和图文资料。
软件的控制类型,有什么共同特点
质量检测小组的作用
增量模型的优缺点

软件测试:在规定的条件下对软件程序进行检测运行操作,发现程序错误,衡量软件质量,对其能否满足设计要求进行评估。软件测试的目的是发现软件中的错误而不是证明软件证确性。
软件测试步骤:单元测试、集成测试、有效性测试和系统测试。

**单元测试:**模块测试、对功能独立运行的程序模块的检测。目的为发现各模块内部存在的各种问题,保证功能性能达到用户需求。 主要内容包括:单元模块内和模块间的功能测试、容错测试、边界测试、约束测试、界面测试、重要执行路径测试、单元内业务流程图、数据流程等。
软件集成的任务以及测试:按照软件体系结构设计的要求将各软件构件和子系统整合为一个完整的系统。
系统测试:将有效性测试后的软件逐步从模拟运行环境切换到实际运行环境,与其他系统资源和环境进行实际检测。发现并纠正软件开发过程中所产生的错误包括恢复测试,安全测试,强度测试,性能测试。
测试用例:为某个特殊目标而编制的一组测试输入数据、执行条件和预期结果,目的是测试某个程序路径或核实是否满足某个需求。 测试用例包括:基本事件、备选事件、异常事件。
黑盒、白盒
黑盒测试:测试人员只知道被测试的软件的接口和界面外部情况,不必考虑程序内部的逻辑结构和特性只根据程序的需求分析规格说明,检查功能是否符合。
常用的黑盒测试方法:
等价分类法: (1)划分等价类(2)设计出测试用例
边界值分析法:(1)测试数据(2)输出条件(3)输出边界数据(4)有序集测试用例(5)内部数据结构边界值(6)其他边界条件
白盒测试:主要是对程序内部结构执行路径的测试,也称透明盒测试,基于代码测试,逻辑驱动测试。测试人员将测试对象看做是打开的盒子,搞清软件内部逻辑结构和执行路径后,利用其结构及有关信息设计测试用例,对程序所有逻辑路径进行测试,以检测不同点检查程序的实际状态与预期状态的一致性。
原则:模块中每一个独立的路径至少执行一次。
所有判断的每一个分支至少执行一次。
每个循环都在边界条件和一般条件下至少执行一次。
所有数据结构的有效性。
逻辑覆盖测试:以程序内部逻辑为基础设计测试用例可分成语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖。
循环测试:注重循环结构的有效性
基本路径测试:通过分析控制流程计算复杂度,导出基本路径集,确保程序中每个语句和路径至少执行一次。
步骤及优点:根据软件结构设计说明源程序代码导出程序流图、计算环路复杂性、确定线性独立的基本路径集、设计测试用例。
优点:迫使测试人员仔细思考软件的实现;检测代码中每条分支和路径。解释隐藏代码中的错误;对代码测试较彻底。
缺点:无法检测代码中遗漏的路径和数据敏感性错误,而且难以验证具体规格的正确性。
快速原型模型:尽快构建成一个原型的应用系统。
增量模型:此种模型开发的软件被作为一系列增量构件进行设计、实现、集成、和测试。每个构件有一定的功能,并最终能组合成一个具有完整功能的软件。优点:灵活性强适合需求不明确设计方案有一定风险的项目。缺陷:需要软件具备开放式的体系结构(各部件会逐渐并入已有体系)、软件过程的控制易失去整体性。
螺旋模型:沿着螺旋线进行多次迭代:制定计划(确定目标选方案弄清限制条件)、风险分析(评估,考虑识别和消除风险)、实施工程、客户评估
喷泉模型:以面向对象为基础,以用户需求为源泉。开发过程具有迭代性和无间隙性。
特点:1.需求分析、总体设计、详细设计和实现、、
2.各阶段相互重叠反应并行性
3.以分析为基础,资源消耗成塔型,分析阶段消耗最多。
4.从高层到低层无资源消耗
5.增量开发,分析一点设计一点
6.对象驱动,对象是活动作用的实体
7.分为系统实现和对象实现

瀑布模型的优缺点
软件开发过程分为相互区别又相互联系的几个阶段,以上一阶段的结果为依据,形如瀑布。
计划时期:问题定义、可行性研究、需求分析
开发时期:概要设计、详细设计、软件实现、软件测试
特点:开发过程的顺序性(前一个阶段完成后一个阶段才开始)、严格要求保证质量、不过早编程。
瀑布模型适合软件需求明确,开发技术成熟,工程管理较严格的情况下使用。缺陷是将充满回溯且相互重叠的软件开发过程硬性的分为多个阶段随着软件规模增加造成的危害越大。

数据字典
软件质量定义
阿拉法和贝塔测试定义与区别
集成和系统测试的区别
软件生命周期:是指从软件开始开发到软件停止使用的整个过程。指的是从用户提出开发需求开始,经过开发使用和维护直到最后淘汰的整个周期。可将生存周期划分为:市场调研、立项、需求分析、规划、概要设计、详细设计、编程、单元测试、集成测试、运行、维护几个过程。每一阶段的工作都以前一阶段结果为依据,并为下一阶段的前提。
软件过程的四类基本过程
软件规格说明、软件开发、软件确认、软件演讲

软件工程的定义以及基本特征
采用工程的概念原理技术和方法在计划开发运行维护与管理软件的工程中将科学的原理和最佳的技术方法紧密结合以比较经济的手段获得满足用户需求的可靠软件
软件工程=工程原理+技术方法+管理技术
系统模型图和数据流图的定义
软件配置管理的作用
软件维护:是指软件交付使用后,由于运行中存在缺陷或因业务需求及环境等变化对软件进行微调。确保软件正常运行,提高用户满意度以及服务信誉。完善性维护占比最高、适应性维护、纠错性维护、预防性维护占比最低。
软件需求分析的任务

  1. 确定总体目标及组织结构
    2.深入领域分析画出业务流程图(TFD)
    3.分析数据流程,画出数据流图
    4.确定功能需求完成功能结构图及点列表
    5.获取性能需求,列出性能点列表
    6.明确处理关系,列出接口列表
    7.确定系统运行环境以及界面
    8.完善开发计划和新系统方案
    9.验证确认需求编写需求文档
    数据流:数据通过一个系统式的流向及变化方式,由数据元素构成,其定义可列出所有描述的数据元素。数据流定义要说明数据流的名称组成表明来源去向和数据流量
    数据流图:DFD data flow diagram图形化的系统模型,在一张图中将新软件系统建模为输入、处理、输出和数据存储。表达了系统各元素之间数据具体流动和处理的过程,如输入和输出人工处理,数据处理数据库,文件和设备。
    数据字典:(DD data dictionary)存储数据源定义和属性的文档。以一种无二义性的说明方式为软件分析设计及维护提供了有关数据元素一致性的定义和详细描述。数据字典要求:完整性、一致性、可用性。
    1.数据流条目:给出DFD中数据流的定义,列出数据流各个组成项。名称、别名、简述、来源、去处、组成、流通量。
    2
    .文件条目
    :给出某文件定义。通常指文件记录组成数据流、文件组织方式
    3**.数据项条目**:数据单项定义,该数据项值的类型、允许值。
    4.加工条目:对DFD的补充,“加工小说明”
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值