信息系统项目管理(三)软件工程相关知识

软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程,其目的是提高软件生成率、提高软件质量、降低软件成本。

一、需求分析

软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望。

1.1 软件需求层次

软件的需求主要分为三个层次,从低到高依次是系统需求、用户需求和业务需求

1.1.1 系统需求

系统需求主要是从系统角度来说明软件需求,包括功能需求、非功能需求和设计约束

  1. 功能需求:规定开发人员必须在系统中实现的软件功能,满足业务需要
  2. 非功能需求:系统必须具备的除功能需求外的特性,其中包括软件质量属性
    • 性能需求:响应时间、吞吐量、资源利用率等
    • 安全性、可靠性、可维护性与易用性等等
  3. 设计约束:系统的限制条件或补充说明,如系统必须采用国产数据库系统
1.1.2 用户需求

用户需求指用户要求系统必须能完成的任务或功能

1.1.3 业务需求

业务需求是客户对相同高层次的目标要求,通过业务需求可以确定项目范围和视图,来自于项目投资人

1.2 需求分析与定义

1.2.1 质量功能部署

质量功能部署(Quality Function Deployment, QFD)是将用户要求转化成软件需求的技术,目的是最大限度的提升用户的满意度。QFD将软件需求分成三类,分别是常规需求、期望需求和意外需求

  1. 常规需求:用户认为系统应该做到的功能或性能,实现越多用户越满意
  2. 期望需求:用户不能正确描述想要得到的功能需求,想当然认为系统应具备的功能或性能
  3. 意外需求:用户要求范围外的功能或性能,实现这些需求用户会更高兴,但不实现也不影响其购买的决策

二、对象和类

2.1 面向对象的基本概念

  1. 对象:由数据及其操作所构成的封装体,是构成系统的基本单位
  2. :类和对象的关系为,对象是类的实例,类是对象的模板
  3. 抽象:通过特定的实例抽取共同特征以后形成概念的过程。比如对象是现实中某个实体的抽象,类是一组对象的抽象
  4. 封装:将相关概念组成一个单元模块,并通过一个名称来引用它。只能通过对象对外提供的接口进行调用
  5. 继承:表示类之间层次关系,这种关系使得某类对象可以继承另外一类对象的特征
  6. 多态:使得在多个类可以定义同一个操作或属性名,并在每个类中可以有不同的实现
  7. 接口:描述对操作规范的说明
  8. 消息:体现对象间的交互,通过它向目标对象发送操作请求
  9. 组件:表示软件系统中可替换的、物理的组成部分
  10. 复用:指将已有的软件及其有效成分用于构造新的软件或系统。组件技术是软件复用实现的关键
  11. 模式:描述了一个不断重复发生的问题,以及该问题的解决方案。包括特定环境、问题和解决方案三个组成部分。

2.2 类之间的关系

类与类之间有不同的关系,主要有这六类:

  1. 关联(Association):关联提供了不同类对象之间的结构关系,关联系统的是对象实例之间的关系,不表示两个类之间的关系
  2. 依赖(Dependency):两个类A和B,如果B的变化可能引起A的变化,则称类A依赖于类B
  3. 泛化(Generalization):泛化描述一般事物与该事物中的特殊种类之间的关系,也就是父类与子类之间的关系。而继承关系是泛化关系的反面,可以这样说,子类继承了父类,父类是子类的泛化。
  4. 聚合(Aggregation):表示类之间的整体与部分的关系,部分可能同时属于多个"整体","部分"与"整体"的生命周期可以不相同
  5. 组合(Composition):表示类之间的整体与部分的关系,但不可分
  6. 实现(Realization):一个类或多个类可以实现一个接口,而每个类分别实现接口中的操作

三、统一建模语言UML

UML(Unified Modeling Language) 是一种定义良好、易于表达、功能强大而且普遍使用的建模语言,它融入软件工程领域的新思想、新方法和新技术,作用域不限于支持面向对象分析(Object-Oriented Analysis,OOA)和面向对象设计(Object-Oriented Design,OOD),支持从需求分析开始的软件开发全过程。

UML 独立于软件开发过程,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

归思君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值