一.学习前的准备-软件工程学习这一篇就够了(详细)

本文介绍了软件工程的学习重点,包括软件生命周期的各个阶段,如需求分析、设计、开发和运维,强调了UML图在不同阶段的应用,GOF设计模式,敏捷开发的原则和Web应用的特点。同时,提到了Web工程的测试重点和不同应用类别。

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

软件工程介绍

好多朋友说”学习软件工程对于java开发根本没什么用?”,小作不甚赞同。软件工程首先从整体介绍了软件开发从需求分析开始概要设计详细设计功能开发测试与运维等全部的流程,是小白了解一个项目生命周期的重要门路。学习后可以让你对整体项目有了解,提升眼界,也明确自己在大流程中的位置。
另外,面向对象程序设计与分析是java开发的重要思想,可以说其他学的都是技术工具的用法,但这个才是学习的思维方式。有了正确的思维方式,学习与工作都事半功倍!

学习重点

1.软件工程生命周期:
需求分析、概要设计、详细设计、功能开发、功能测试、上线运维。
2.生命周期各阶段使用的UML图。
a需求分析:用例图、操作流程图概要
b概要设计:接口设计图、顺序图、状态图
c详细设计:数据库表设计图、程序结构设计图
d功能开发:类图、对象图
e测试与上线:部署图
2.GOF设计模式见详细整理
3.软件设计方法渐进:
a面向过程
b面向对象
c面向中间件:数据库中间件、消息中间件等
d面向服务:SOA、SaaS。
在这里插入图片描述

e面向领域
4.敏捷开发
a敏捷软件开发宣言:
个体和交互 胜过 过程和工具
可工作软件 胜过 面面俱到的文档
客户合作 胜过 合同谈判
响应变化 胜过 遵循计划
b12条原则:
① 人们最优先要做的是通过尽早地、持续地交付有价值的软件来使客户满意。
② 即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。
③ 经常性的交付可以工作的软件,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。
④ 在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。
⑤ 围绕被激励起来的个体来构建项目。给它们提供所需的环境和支持,并且信任它们能够完成工作。
⑥ 在团队内部,最具有效果并且富有效率的传递信息的方法就是面对面的交谈。
⑦ 工作的软件是首要的进度度量标准。
⑧ 敏捷过程提倡可持续的开发进度。责任人、开发者和用户应保持一个长期恒定的开发速度。
⑨ 不断关注优秀的技能和好的设计会增强敏捷能力。
⑩ 简单——使未完成的工作最大化的艺术——是根本的。
⑪最好的构架、需求和设计出自于自组织的团队。
⑫每隔一定时间,团队会在如何才能更有效的工作方面进行反省,然后相应地对自己的行为进行调整。
5.Web工程
a绝大多数WebApp软件几乎具备下述所有属性:
网络密集性(Network Intensive)
访问并发性(Concurrency)
工作负荷的跳跃性(Unpredictable load)
性能(Performance)要求苛刻
安全性(Security)要求苛刻
可用性(Availability)
数据驱动(Data driven)
内容敏感性(Content Sensitive)
持续演化(Continuous Evolution)
即时性(Immediacy)
美观性(Aesthetics)
b最常遇到的应用类别包括:
信息型、下载型、可定制型、交互型、用户输入型、面向事务型、面向服务型、门户型、数据库访问型
cWeb测试重点:
(1)内容、(2)功能、(3)结构、(4)易用性、(5)导航性、(6)性能、(7)兼容性、(8)互操作性、(9)安全性

重点知识总结

在这里插入图片描述

详细总结传送门:

1:软件工程学习
2:面向对象分析与设计学习

推荐书籍

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值