【软件工程】习题一

目录

软件工程学,是用工程化的方法指导计算机软件**开发和维护(开发和管理)**的一门工程学科。

软件工程包括软件开发技术(过程、方法和工具)与软件工程管理两方面的内容。 软件工程管理是通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,以达到既定目标的过程;软件开发技术通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学(methodology),也称为范型(paradigm)。过程(框架,模型)是技术中最重要的一个要素 。

软件生命周期是软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程。

可分为三个时期和八个阶段。

三个时期:软件定义,软件开发,软件维护

八个阶段:问题定义,可行性研究,需求分析,概要设计,详细设计,编码与单元测试,综合测试,软件维护。

  • 瀑布模型:
    • 特点:
      简单,分阶段,阶段间存在因果关系,各个阶段后都有评审,允许反馈,不支持用户参与,要求预先确定需求。
    • 适用范围:
      需求易于完善定义且不易变更的软件系统
  • 快速原型模型
    • 特点:
      不要求需求预先完备定义,支持用户参与, 支持需求的渐进式完善和确认,能够适应用户需求的变化
    • 适用范围:
      需求复杂,难以确定,动态变化的软件系统
  • 增量模型
    • 特点:
      软件产品是被增量式地一块块开发的, 允许开发活动并行和重叠
    • 适用范围:
      技术风险较大、用户需求较为稳定的软件系统
  • 螺旋模型
    • 特点:
      结合瀑布模型、快速原型模型和迭代模 型的思想,并引进了风险分析活动
    • 适用范围:
      需求难以获取和确定、软件开发风险较大的软件系统

  • 稳定------较小的需求变化不会导致系统结构大变;
  • 复用面向对象技术通过封装、继承、聚合等手段,提供了各种不同层次的复用。

类(class)和对象(object)是两种以计算机为载体的计算机语言的合称。对象是对客观事物的抽象,类是对对象的抽象。类是一种抽象的数据类型。它们的关系是,对象是类的实例,类是对象的模板。对象是通过new classname产生的,用来调用类的方法,类的构造方法 。

相关推荐
MC皮蛋侠客5 小时前
Google Test 单元测试指南
c++·单元测试·google test
艾莉丝努力练剑6 小时前
【Linux:文件】Ext系列文件系统进阶
linux·运维·服务器·c++·文件系统·文件io·ext
12点一刻7 小时前
Superpowers — AI 驱动的软件工程方法论框架
人工智能·软件工程
basketball6168 小时前
C++ NULL 和 nullptr 区别 以及 nullptr 的核心实现
java·开发语言·c++
Fre丸子_9 小时前
自定义文件夹选取功能
c++
思麟呀11 小时前
C++工业级日志项目(六)异步日志器
linux·c++·windows
PAK向日葵12 小时前
从零实现 Python 虚拟机(二):S.A.A.U.S.O 的总体架构设计
c++·python
无限进步_12 小时前
【C++】weak_ptr、循环引用与线程安全
开发语言·数据结构·c++·算法·安全
咩咦12 小时前
C++学习笔记30:友元类、内部类和封装
c++·学习笔记·类和对象·封装·内部类·友元类·friend
黄小白的进阶之路13 小时前
C++提高编程---3.6 STL-常用容器-queue 容器【P213~P214】
c++