云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 软件工程学习心得 - 汪子洲

软件工程学习心得 - 汪子洲

  • 62 次阅读
  • 3 次下载
  • 2025/5/1 17:02:04

汪子洲 计算机科学与技术 222010321210126

软件工程实践课总结

转眼间软件工程实践课就结束了。课程虽然短暂,但是内容丰富,其中更有很多不仅仅局限于这门课程,甚至不局限于计算机这门学科的学问值得我们去挖掘与学习。下面我浅谈一下这门课学习下来自己的一点点收获。

本课程名为软件工程实践,首先我想以它的理论课——软件工程作为开始。首先我们应该明确一下何为软件工程。软件工程,即将系统的,规范的,可度量的工程化方法应用于软件开发、运行和维护的全过程以及对上述方法的研究。它有三个组成要素:

1、软件工程方法:项目计划、估算、系统与软件需求分析、软件设计、编码、测试和维护。 2、软件工程工具:辅助支持软件的开发、管理以及文档生成等。

3、软件工程过程:贯穿软件开发的每个环节,过程的细节在于对质量、进度、成本进行评估、管理和控制。

下面再介绍几个关于软件工程的重要知识点: 软件工程方法学

软件工程方法学是为了解决软件危机问题而逐渐形成的学科,研究对象主要是软件与程序。它分成两个不同的角度与方法:以数学理论为基础的理论性程序设计方法学和以工程方法为基础的程序开发、维护、工具和管理的软件工程学。他们之间的差异在于:1、方法与途径不同,一个是应用性的工程方法,另外一个是理论性的数学方法。2、对象有所侧重,软件工程学一般争对大型程序或者系统,程序设计方法学侧重较小的程序模块。3、软件工程学注重宏观可用性,程序设计方法学注重微观正确性。

软件工程的基本原理

1983年由B.Boehm提出,这七条原理是保证软件产品质量与开发效率的最基本的准则。 1.用分阶段的生命周期计划严格管理。 2.坚持进行阶段评审。 3.实行严格的产品控制。 4.采纳现代程序设计技术。 5.结果能清楚地审查。 6.开发小组的人员应少而精。

7.承认不断改进软件工程实践的必要性。 软件工程的目标

在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性,可重用性、可适应性、可移植性、可追踪性、可互操作性并能满足用户需求的软件产品。

软件工程的几个主要阶段

可行性分析→需求说明与分析→概要设计→详细设计→编码→测试→维护 软件工程的内容

软件工程主要包含软件开发技术与软件开发管理。

其中软件开发技术包括软件开发方法、软件开发过程、软件开发工具、软件开发环境。软件开发管理包括软件管理学、软件经济学、软件心理学。

软件工程的原则

原则是因软件工程的目标而设,包括:

抽象:采用分层次抽象控制软件开发过程的复杂性。 模块化:由逻辑独立单元构成,有良好的接口。 信息隐藏:技术与逻辑封装隐藏起来。 局部化:模块具有内聚性,局部独立。 完整性:完全实现系统需要的功能。

汪子洲 计算机科学与技术 222010321210126

一致性:使用一致的概念、符号与术语。 可验证性:系统容易检查,测评,评审。 软件生命周期模型

软件生命周期模型就是描述软件开发过程中各种活动执行的抽象模型,主要有如下几种:瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型、基于知识的模型、变换模型。

软件开发方法

结构化方法、Jackson方法、维也纳开发方法、面向对象的开发方法。面向对象的开发方法有:Booch方法、Coad方法、OMT方法。

在一定程度上熟悉了软件工程的基本概念后,我们现在可以通过具体的实际的例子在理论的指导下来分析一下具体的例子,也就是开始初步的软件工程实践。

以ORACLE的物联网物流仓储管理系统为例,将例子分为需求分析、概要设计、详细设计三个阶段做略微详细的说明。

首先开始需求分析。

为了思维过程、这里把需求分成说明阶段与分析阶段,但在实际工作中这两个阶段经常是同时的、甚至是不可分的。要把需求说明清楚,则必须要进行需求分析;需求分析的结果就是需求说明的内容。需求说明一般采用非形式化描述,需求分析采用形式化描述;需求分析是软件定义的最后阶段;需求分析必须准确解决“系统必须做什么”这个问题,而不是解决“系统怎么做的问题”;需求分析结束后,必须提交详细的数据或者功能流、数据字典、算法描述等。

需求分析的主要任务是: 1、问题明确定义,包括: 功能需求:软件具备的功能。

性能需求:访问延时、存储容量、运行时间、负载,并发访问。 环境需求:硬件、操作系统、数据库管理系统、工具等。 用户界面需求:界面形式,输入输出数据格式等。

系统可靠性、安全性、维护性、移植性需求。 2、建立软件的逻辑模型 功能用例结构。 3、编写文档 编写需求说明文档。

一般需求分析模板如下: 1、系统概述

·现状分析,建设目标 ·系统范围定义 ·条件与限制 2、功能需求 ·用例模型 ·整体功能描述 ·功能用例 3、外部接口

·硬件接口,软件接口,通信接口 4、非功能性需求

·安全需求,维护性,移植性,可靠性,易用性,效率,性能需求 图1

汪子洲 计算机科学与技术 222010321210126

·用户界面需求 ·文档需求

·系统运行环境需求:运行环境、支撑软件

·其他需求

结合本实践实例,我们需要分析如下需求用例: ·结算员用例 ·仓库经理用例 ·仓库管理员用例 ·验货员用例 ·系统管理员用例

我们以结算员用例为代表进行分析(图1),其中又以用户登录模 块为例图2:

图2

其他模块类似,不再赘述。

其次是概要设计。

概要设计也称为总体设计、概要的回答系统如何实现。这是开发阶段的第一步。 概要分析与设计把需求分析用例模型转换为软件结构和数据结构,将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。概要分析与设计建立的是目标系统的逻辑模型,与计算机无关。

概要设计的主要任务: ·软件体系结构设计 ·模块划分 ·确定模块功能 ·模块的调用关系 ·模块之间的接口 ·数据设计 ·数据结构设计 ·界面设计

·界面风格与模版设计 概要设计一般模板: 项目概述

设计约束:1需求约束2隐含约束

功能单元和业务流程设计:1功能和规划2主要业务流程 数据E-R模型设计

汪子洲 计算机科学与技术 222010321210126

总体设计:1.逻辑架构设计2.物理架构设计3.技术架构设计 用户界面设计:1页面布局设计2页面风格展示 运行环境和部署:1运行环境2系统性能要求

图3

根据图3的总体框架,为每个部分撰写详细说明,如: 系统功能说明-入库管理1

入库申请

客户出示IC卡或客户唯一标识到开单结算窗口提出货物入库申请。 开单结算员使用客户出示的IC卡或客户唯一标识查询客户资料。

开单结算员根据货物种类输入库存价,根据实际人力成本输入力资费,其他费用可选。

开单结算员可以根据客户的意向进行选择仓库和仓位,但实际仓库和仓位由仓库管理员按照实际情况进行决定。 客户办理入库申请之后,系统发送入库短信给客户,并通过物联网发送一条Socket消息给验货员进行验货。 开单结算员打印入库工作单,交予客户。

搜索更多关于: 软件工程学习心得 - 汪子洲 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

汪子洲 计算机科学与技术 222010321210126 软件工程实践课总结 转眼间软件工程实践课就结束了。课程虽然短暂,但是内容丰富,其中更有很多不仅仅局限于这门课程,甚至不局限于计算机这门学科的学问值得我们去挖掘与学习。下面我浅谈一下这门课学习下来自己的一点点收获。 本课程名为软件工程实践,首先我想以它的理论课——软件工程作为开始。首先我们应该明确一下何为软件工程。软件工程,即将系统的,规范的,可度量的工程化方法应用于软件开发、运行和维护的全过程以及对上述方法的研究。它有三个组成要素: 1、软件工程方法:项目计划、估算、系统与软件需求分析、软件设计、编码、测试和维护。 2、软件工程工具:辅助支持软件的开发、管理以及文档生成等。 3、

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com