【软件工程】软件工程课程复习笔记

本文探讨了软件工程的基本原则,包括模块化设计、软件生命周期管理、团队协作以及使用UML进行建模。强调了分而治之的方法来解决复杂问题,涉及软件配置管理、版本控制和设计模式的应用,以及康威法则对设计结构的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一讲 介绍

工程这个词,对应的是科学
工程是可以重复的,而科学通常不强求重复
软件工程:其中遇到的模型,怎么做,方法

一、基本信息

1.模块化的设计 UML diagrams图
2.涵盖软件整个生命周期,和软件开发的整个阶段应该怎么去做。
3.以团队为主的(team-based),需要实际动手操作,需要一系列编程。
4.不会教任何一门特殊的编程语言
5.团队开发一个相对逻辑复杂(编程、业务)的系统,需要多方面(性能和资源的小号如并发量、存储量)的权衡。

二、参考书目

在这里插入图片描述

三、介绍

Software is complex=事情由很多部分组成,能够互相关联在一起。
(而complicated 模糊的,即便分析也分析不出来,不能解释。)
防止产生温水煮青蛙的问题:
1.小问题尽量考虑清楚,从而不至于导致大的缺陷
2.负面反馈是一种积累,刚开始看上去问题不大,到后面就会太严重以至于不能解决
3.Design smells,technical debt,software rot

四、软件工程的角色

在这里插入图片描述

第一法则:必须能够学习问题的领域(先要知道客户需求)

Customer:需要一个计算机系统去实现一些业务目标,通过用户交互(与环境,或与一个特殊方式)
软工的任务:理解system-to-be如何与环境或user交互,从而能够达成用户需求,并且设计software-to-be

解决问题的策略:分而治之:

1.识别系统上的逻辑组成部分(逻辑划分),其能解决问题的一块
2.掌握问题最快的方式:需要领域专家(谁懂怎么去用,目前是怎么做的)
3.产生:领域问题的模型(或问题域模型)

五、软件工程的蓝图

1.准确的理解软件的问题和解决方案
(1)不幸的是,很多人不是艺术家画不出来,所以我们用一些工具,UML symbols

六、第二法则

第二法则:以人为本
Nurture培养滋养

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值