系统分析---作业1

系统分析—作业1

1、简答题

(1). 软件工程的定义

关于软件工程的定义,在GB/T11457-2006《信息技术 软件工程术语》中将其定义为"应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度,实现满足用户要求的软件产品的定义、开发、和维护的工程或进行研究的学科"。
包括:
创立与使用健全的工程原则,以便经济地获得可靠且高效率的软件。
应用系统化,遵从原则,可被计量的方法来发展、操作及维护软件;也就是把工程应用到软件上。
与开发、管理及更新软件产品有关的理论、方法及工具。
一种知识或学科,目标是生产质量良好、准时交货、匹配预算,并满足用户所需的软件。
实际应用科学知识在设计、建构计算机程序,与相伴而来所产生的文件,以及后续的操作和维护上。
使用与系统化生产和维护软件产品有关之技术与管理的知识,使软件开发与修改可在有限的时间与费用下进行。
建造由工程师团队所开发之大型软件系统有关的知识学科。
对软件分析、设计、实施及维护的一种系统化方法。
系统化地应用工具和技术于开发以计算机为主的应用。
软件工程是关于设计和开发优质软件。

(2). 解释导致 software crisis 本质原因、表现,述说克服软件危机的方法

  • 导致 software crisis 本质原因:
    • 软件的大量需求与软件生产力效率之间的矛盾
    • 软件系统的复杂性与软件开发方法之间的矛盾
  • 危机表现在几个方面:
    • 项目运行超出预算。
    • 项目运行超过时间。
    • 软件质量低落。
    • 软件通常不匹配需求。
    • 项目无法管理,且代码难以维护。
  • 克服软件危机的方法:
    • 首先应该对计算机软件有一个正确的认识
    • 更重要的是,必须充分认识到软件开发不是某个个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合共同完成的工程项目
    • 应该推广使用在实践总结出来的开发软件的成功的技术和方法
    • 应该开发和使用更好的软件工具
    • 总之,为解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施

(3). 软件生命周期

软件生命周期(SDLD)是指一个从用户需求开始,经过开发、交付使用,在使用中不
断地增补修订,直至软件报废的全过程,亦称软件生存期(life cycle)。
GB 8567 中规定,软件生命周期分为 7 个阶段:
1.可行性研究和项目开发计划
可行性研究和项目开发计划阶段必须要回答的问题是“要解决的问题是什么”。
2、需求分析
需求分析阶段的任务不是具体地解决问题,而是准确地确定“软件系统必须做什么”,
确定软件系统必须具备哪些功能。
3.概要设计
概要设计就是设计软件的结构,该结构由哪些模块组成,这些模块的层次结构是怎样
地,这些模块的调用关系是怎样地,每个模块的功能是什么。同时还要设计该项目的应用
系统的总体数据结构和数据库结构,即应用系统要存储什么数据,这些数据是什么样的结
构,它们之间有什么关系等。
4.详细设计
详细设计阶段就是为每个模块完成的功能进行具体描述,要把功能描述变为精确的、
结构化的过程描述。
5.编码
编码阶段就是把每个模块的控制结构转换成计算机可接受的程序代码,即写成以某特
定程序设计语言表示的“源程序清单”。
6.测试
测试是保证软件质量的重要手段,其主要方式是在设计测试用例的基础上检验软件的
各个组成部分。测试分为模块测试、组装测试、确认测试。
7.维护
软件维护是软件生存期中时间最长的阶段。已交付的软件投入正式使用后,便进入软
件维护阶段,它可以持续几年甚至几十年。

(4). SWEBoK 的 15 个知识域(An Overview of the SWEBOK Guide 请中文翻译其名称与简短说明)

SWEBok的这15个知识域依次是:
(1). 软件需求
软件需求KA涉及到获取、协商、分析、规范、验证;
软件需求表达了对软件产品的需求和约束,有助于解决现实世界的一些问题
(2). 软件设计
软件设计被定义为定义系统或组件的体系结构,组件,接口和其他特征的过程以及该过程的结果。
软件设计过程是软件工程生命周期活动,在该活动中,分析软件需求,以产生对软件内部结构及其行为的描述,作为其构造的基础
软件设计的结果必须描述软件体系结构
软件设计必须在详细程度上描述构件,以支持构件的构造
(3). 软件构造
软件构造指通过详细设计、编码、单元测试、集成测试、调试和验证相结合的方式创建工作软件
软件构造KA包括与满足其需求和设计约束的软件程序开发相关的主题
(4). 软件测试
软件测试是一种评估产品质量并通过识别缺陷来改进软件产品质量的活动
软件测试涉及在有限的测试用例集合上,根据预期的行为对程序的行为进行动态验证
软件测试KA包括软件测试的基本原理、测试技术、人机用户界面测试和评估、与测试相关的措施;以及实际考虑因素。
(5). 软件维护
软件维护包括增强现有功能、调整软件以在新的和修改的操作环境中运行,以及纠正缺陷
软件维护KA包括软件维护的基础(维护的性质和需求、维护的种类、维护成本);软件维护中的关键问题(技术问题、管理问题、维护成本估算、软件维护的度量);维护过程;软件维护技术(程序理解、再工程、逆向工程、重构、软件退役);灾难恢复技术和软件维护工具。
(6). 软件配置管理
软件配置管理是在不同的时间点识别系统配置的规程,目的是系统地控制对配置的更改,以及在整个软件生命周期中维护配置的完整性和可跟踪性。
软件配置管理KA涵盖供应链管理过程的管理;软件配置标识、控制、状态记帐、审计;软件发布管理和交付;以及软件配置管理工具。
(7). 软件工程管理
软件工程管理包括计划、协调、测量、报告和控制一个项目或程序,以确保软件的开发和维护是系统的、有纪律的和量化的。
软件工程管理KA包括启动和范围定义(确定和协商需求、可行性分析以及需求的审查和修订)、软件项目规划(过程规划、工作量估计、成本和进度、资源分配、风险分析、质量规划)、软件项目制定(测量、报告和控制;采购和供应商合同管理)、产品验收、审查和分析项目绩效、项目结束、以及软件管理工具。
(8). 软件工程过程
软件工程KA关注软件生命周期过程的定义、实现、评估、度量、管理和改进。
软件工程过程涵盖的主题包括过程实施和变更(过程基础设施、过程实施和变更的模型以及软件过程管理)、过程定义(软件生命周期模型和过程、过程定义的符号、过程适配和过程自动化)、过程评估模型和方法、测量(过程测量、产品测量、测量技术和测量结果的质量)、以及软件过程工具。
(9). 软件工程模型与方法
软件工程模型和方法KA解决了涵盖多个生命周期阶段的方法、其他KAs涵盖特定生命周期阶段的特定方法;涵盖的主题包括建模(软件工程模型的原理和属性;语法与语义与不变量;前置条件,后置条件和不变量)、模型类型(信息,结构和行为模型)、分析(分析正确性,完整性,一致性,质量和相互作用;可追溯性;以及权衡分析)、软件开发方法(启发式方法,形式方法,原型方法和敏捷方法)
(10). 软件质量
软件质量是许多SWEBOK V3 KAs中普遍存在的软件生命周期问题
软件质量KA还包括软件质量的基础知识(软件工程文化,软件质量特性,软件质量的价值和成本以及软件质量改进)、软件质量管理流程(软件质量保证,验证和确认,审核和审核)、实际考虑(缺陷表征,软件质量测量和软件质量工具)
(11). 软件工程专业实践
软件工程专业实践关注软件工程师必须具备的专业,负责和道德的软件工程知识,技能和态度。
软件工程专业实践KA涵盖专业性(专业行为,专业协会,软件工程标准,雇佣合同和法律问题)、道德准则、小组动态(团队合作,认知问题复杂性,与利益相关者互动,处理不确定性和模糊性,处理多元文化环境)、沟通技巧
(12). 软件工程经济学
软件工程经济学KA关注的是在业务环境中做出决策,以使技术决策与组织的业务目标保持一致。涵盖的主题包括软件工程经济学的基本原理(提案,现金流量,货币时间价值,计划视野,通货膨胀,折旧,替代和退休决策)、非营利性决策(成本效益分析,优化分析)、估计经济风险和不确定性(估算技术,风险决策和不确定性)、多属性决策(价值和衡量尺度,补偿和非补偿技术)。
(13). 计算基础
计算基础KA涵盖了提供软件工程实践所需的计算背景的基础主题。涵盖的主题包括问题解决技术,抽象,算法和复杂性,编程基础,并行和分布式计算的基础知识,计算机组织,操作系统和网络通信。
(14). 数学基础
数学基础KA涵盖了提供软件工程实践所必需的数学背景的基础主题。涵盖的主题包括集合、关系、功能、基本命题、谓词逻辑、证明技术、图、树、离散概率、语法、有限状态机、数论。
(15). 工程基础
工程基础KA涵盖了提供软件工程实践所必需的工程背景的基础主题。涵盖的主题包括经验方法和实验技术、统计分析、测量和指标、工程设计、仿真与建模、根本原因分析。

(5). 简单解释 CMMI 的五个级别。例如:Level 1 - Initial:无序,自发生产模式。

CMMI 全称 Capability Maturity Model Integration,也即能力成熟度模型整合,其五个级别依次是:初始化、管理、定义、定量管理和优化。

  • Level 1 - 初始化级:软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。
  • Level 2 - 管理级 :建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。
  • Level 3 - 定义级 :已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。
  • Level 4 - 量化管理级别:分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。
  • Level 5 - 优化级 :过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。

(6).用自己语言简述 SWEBok 或 CMMI (约200字)

SWEBok全称是Software Engineering Body of Knowledge,是一个旨在规范软件工程知识体系的国际标准。在最新的V3版本中,它关注了软件工程的15个领域,分别是:软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程模型与方法、软件质量、软件工程专业实践、软件工程经济学、计算机基础、数学基础、工程基础。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值