学习攻略 | 软件工程导论(张海藩)第六版高分攻略!

教育   2024-11-16 19:50   湖北  




写在前面




专业课成绩在专业分流、保研以及奖学金的争取等大学的各个环节中都十分重要。那么专业课该如何学习?期末考试又该如何应对?


为了帮助同学们取得专业课好成绩,岛主将为大家带来系列专业课学习经验分享!由于不同院校课程所用教材版本不同,分享以具体的教材版本为准。今天带来的是——软件工程导论(张海藩)第六版




01

教材内容介绍


01

课程特色


《软件工程导论》是计算机科学和软件工程专业的核心课程。主要在大二第二学期或大三开设,学分占比很重,是后续项目开发的前置课程。


教材重点在软件工程的基础理论和开发流程,帮助学生掌握从需求分析、系统设计到编码、测试的工程化开发过程。内容涵盖了软件生命周期的所有阶段,注重培养工程化思维,为学生提供项目管理和开发规范的指导,是本科生和研究生必修的重要教材。此课程在一些自命题学校软件学院考试是中作为一门考试科目。


02

学习重难点


在系统开发的各个阶段中,详细的分解和研究有助于确保系统的可行性和实用性。以下是将书中知识点的总结:


01


CSBAOYANDAO

可行性研究

可行性研究的主要目的是评估项目的系统解决方案是否在技术上和经济上可行,以避免在无法解决的问题上投入不必要的资源浪费。通过系统分析,研究能够帮助决策者确认项目的投入价值,确保项目方向正确。


重难点:研究分为八个步骤,从明确系统目标到编写可行性研究报告,强调了定义问题的精准性和构建合理的逻辑模型。关键难点在于准确识别问题特性,并确保推荐的方案具有操作性和经济效益。


02


CSBAOYANDAO

需求分析

需求分析的核心在于明确系统需求,提供系统设计的详实基础,包括功能需求、性能需求、可靠性需求、接口需求等五类需求,确保系统功能与用户预期相符。


获取与建模  :通过访谈等方式获取需求,并使用数据流图、实体关系图等工具进行分析建模,将需求转化为系统逻辑模型。


重难点:精确记录用户需求,利用图形工具建模,确保设计符合用户需求并具备扩展性。


03


CSBAOYANDAO

形式化说明技术

形式化说明技术使用数学手段描述系统行为,减少二义性,适用于关键系统。常用的工具包括有限状态机(适合描述交互系统)、Petri网(适用于并行事件)、和Z语言(用集合论描述需求)。


重难点:该技术的难点在于如何用数学工具准确表示系统关键特性,保持模型的简洁性和清晰性,以确保规格说明的严谨性和精确性。


04


CSBAOYANDAO

总体设计

总体设计定义系统的高层结构,明确模块组成及相互关系,确保模块之间独立,为详细设计奠定基础。设计包括选择实现方案、系统结构设计、数据库设计、功能分解和编写测试计划


重难点:总体设计的难点在于模块化设计,确保模块独立性和接口合理性,从而为后续的详细设计提供清晰的结构基础。


05


CSBAOYANDAO

详细设计

详细设计在总体设计的基础上定义程序逻辑和实现细节,提供清晰的“蓝图”。内容包括结构化程序设计、人机界面设计和使用流程图与伪代码展示逻辑。 


重难点:设计中重视用户友好性和简化程序复杂度,以提高系统的可维护性。难点在于确保界面设计的友好性和程序逻辑的简化,以便后续编码的顺利进行。


06


CSBAOYANDAO

实现(编码与测试)

实现阶段将详细设计转化为可执行程序,通过各种测试确保系统的正确性。编码遵循统一的命名和注释规范,测试包括单元测试、集成测试等。


重难点:黑盒测试关注外部行为,白盒测试确保每条代码路径的有效性。重难点在于保持代码规范与可读性,确保全面覆盖功能模块和接口的测试,提升代码质量。


07


CSBAOYANDAO

面向对象方法

面向对象方法模仿人类对现实的理解,通过对象抽象、封装、继承和多态等机制模拟实际场景。对象、类与继承、消息传递等机制增强系统的稳定性和可重用性。


重难点:该方法符合人类的自然思维方式,易于理解且便于维护。建模包括对象模型、动态模型和功能模型,重难点在于对象的抽象与封装、继承与多态的合理应用


08


CSBAOYANDAO

面向对象设计

面向对象设计采用模块化、抽象、信息隐藏等原则,系统分解成独立模块,提高模块内聚性、降低依赖性。启发规则包括控制继承层次、设计简单类和协议。


重难点:通过分而治之将系统分解成子系统,减少耦合便于维护。难点在于实现模块化设计、信息隐藏、继承控制和系统分解,提升系统的可维护性与重用性。


09


CSBAOYANDAO

面向对象实现

选用适合表达问题域的面向对象语言,编程风格保持一致命名和注释,提高代码重用性。继承机制支持代码共享,提升开发效率。


重难点:面向对象实现强调代码复用、继承合理性和测试复杂性,关键在于确保每个模块都能有效重用,同时通过合理的测试策略保证代码质量和系统功能的全面性。




02

学习方法总结



1

理论与实践结合




软件工程注重实践。学习这门课的主要目的是为了后期在软件开发工程中,熟悉软件开发的各个阶段,以及在每个阶段都应有相应的文档产出。学习过程中,建议一边学习理论知识一边动手练习,比如以一个简单的项目为例,从需求分析到系统设计、编码、测试一步步实践。可以选择一个自己感兴趣的小项目,如个人博客、图书管理系统或任务管理工具,将理论知识转化为实践操作。



2

笔记整理与总结



将课程的知识点分章归纳,尤其是生命周期模型、需求分析流程、设计模式和测试类型等内容。可以使用思维导图软件整理知识体系,特别是各个开发模型、设计模式的对比,帮助更直观地掌握知识框架。同时,可以定期回顾笔记,形成知识的内化



3

使用项目管理与代码管理工具



软件工程课程涉及到实际开发工具的使用。建议在学习过程中,熟悉一些常用的项目管理工具和代码管理工具,例如JIRA、Trello和Git。可以利用这些工具模拟项目的实际开发流程,并在项目中使用Git进行版本控制,体验团队开发的协作过程。



4

反复练习与提升



软件工程中的许多内容需要通过练习来掌握,例如UML建模、编写测试用例、设计模式的应用等。建议在学习过程中不断反复练习这些内容,巩固自己的实践能力。可以在LeetCode、Codewars等平台上练习编程和算法题,增强编码能力。




03

考试准备与复习攻略


考试形式


软件工程的期末考试通常以纸质试卷的形式,主要考察学生对各个软件开发阶段的理解,一般题型包括选择题(基本概念)、填空题,简答题(对概念的理解)、分析题和画图题(如用例图、数据流图等)等。题目最大的重点在于需求分析、软件设计原则,以及测试用例(黑盒测试和白盒测试)的编写


复习重点


在复习时,关注以下重点内容:


-基础概念生命周期模型、需求分析流程、测试类型、项目管理等。


- 关键流程:需求分析、设计方法、测试方法。


- 模型和设计工具:UML建模、代码规范、测试用例编写。


- 设计模式和项目管理工具:如单例模式、工厂模式、Git的基本操作。


复习策略


复习时,可以按以下步骤分阶段进行:


1

第一阶段(知识点理解,约一周)

阅读教材和课堂笔记,理解基础知识,复习各章节的主要内容。

2

第二阶段(重难点攻克,约一周)

针对生命周期模型、UML建模、算法复杂度分析等重点内容,结合实例进行深入练习。复习需求分析时,结合具体的应用场景,理解如何提取和分析需求。考虑如何为不同类型的用户设计合适的解决方案。复习设计原则时,结合课程中的案例,理解每种设计模式的优缺点以及适用场景。建议通过经典的设计模式(如单例模式、观察者模式等)进行练习,将理论与实际问题结合。复习时测试时应明确单元测试、集成测试和系统测试的区别和联系

3

第三阶段(题目练习,约一周)

结合历年考试题或课后习题,进行练习。重点练习设计题和算法题,提升实际解题能力。

4

第四阶段(模拟测试,查漏补缺)

进行限时模拟考试,尽量使用真题或考研模拟题,评估复习效果并强化薄弱知识点。




04

学习资源推荐


网课资源


B站

https://www.bilibili.com/video/BV1Ns41177VM/?spm_id_from=333.337.search-card.all.click)、中国大学MOOC(哈尔滨工业大学,徐晓飞、战德臣老师)等平台有许多优秀的软件工程课程,可以观看清华、北大等高校的公开课,以加强知识的理解。


在线题库与编程平台


LeetCode、Codewars等平台有大量编程练习题,可以帮助强化编码能力。


辅助书籍


《Head First 设计模式》、《UML精粹》以及《敏捷软件开发》均为软件工程学习的经典参考书籍,可以帮助补充课外知识。


工具资源


可以使用Visual Paradigm或StarUML进行UML建模,利用GitHub或GitLab练习版本控制和代码协作技能

岛主有话说


《软件工程导论》是一门强调系统性、工程性和规范性的课程,其学习过程不仅仅是掌握概念,更是培养系统思维和工程化的思考方法。学习软件工程,需要理论知识的积累,也需要实践能力的提升,二者相辅相成。在学习中注重理解、实践和总结,将课程中学到的知识点与真实开发流程结合,不断提升自己的能力。通过系统化的学习,相信大家可以在专业课中取得优异成绩,并为未来的职业生涯打下坚实的基础。




岛主也为大家准备了

《软件工程导论》第六版(张海藩)

配套学习资料包

内含教材&课后答案pdf

知识点总结&期末题库&名词解释

助力大家拿到高绩点!



点击下方卡片

关注公众号【保研岛】


后台回复关键词【软件工程导论资料】

即可免费领取!

通类资料

保研蓝皮书

保研留学规划书

保研红宝书

保研日历实体版

保研日历电子版

保研200问

体制求职一本通

保研辟谣100问

保研加分手册

保研政策解析手册

跨保手册

转专业一本通

边缘人逆袭手册

保研夏令营手册

夏令营笔试手册

夏令营海王话术

预推免攻略手册

九推志愿填报手册

九推话术

线上考核手册

线下考核手册

口语、文书、面试资料

文书模板大礼包

英文文书模板

申请表填写手册

简历制作手册

简历写作例句

个人陈述手册

个人陈述写作例句

推荐信手册

联系导师手册

联系婉拒导师模板

获奖证明模板

中英文自我介绍

英文自我介绍

PPT自我介绍

保研面试手册

面试&回答模板

群面手册

简历面76问

论文面51问

行为面50道

刁钻问题54题

论文答辩手册

思政面试手册

线下参营100问

推免资格40问

2000+口语词汇

口语一本通

笔面试真题

资源与环境

环境工程

环境科学

土木工程

车辆工程

交通类

机械工程 

能源动力类

海洋科学

食品

数应

物理学

学科化学

材料科学

化学与材料

材料专业

地理信息


_

计算机类

计算机系统

软件体系结构 

软件工程

人工智能

强化学习

信息安全

大数据

区块链

电子信息

自动化

电气工程

通信工程

医学类

临床医学

肿瘤学

药学

口腔医学

生命科学

公共卫生

汉语言类

文学类

语言类

中国古代文学

现当代文学

比较与世界文学

古典文献学

文艺学

文字学

语言学及应用

少数民族语言

汉语国际教育

学科(语文)

外语类

外应

英语语言文学

英语笔译

英语口译

学科英语

亚非语言文学

日语

俄语

法语

德语 


_


_

新传类

传播学 

新闻学

广播电视学

网传与新媒体

国际传播 

广告学

财经新闻

健康传播

数字出版学

编辑出版学


_


_

泛公管类

行政管理

公共政策

应急管理

大数据公共治理

图情与档案管理

社医卫管

土地资源管理

社会保障

社会工作

老年&人口

社会学

政治学

国家安全学

教育学

心理学

马理论

哲学

历史学

法学类

非法本法硕 

法本法硕

宪法与行政法学

刑法

诉讼法 

民商法

法理学 

经济法

知识产权法

保险法

公司法

国际法

环境法

军事法

法律史

经管类

经济学

西方经济学

世界经济

应用经济

金融学

金融专硕

金融工程

金融科技

财政学

保险学

产业经济学

劳动经济

国民经济学

政治经济学

国际贸易

国际商务

统计学

工商管理

会计

财务管理

企业管理

人力资源

人资环

旅游管理

管理科学与工程

教育经济管理

市场营销

财会


_


_

科研竞赛

大创一本通

挑战杯一本通

挑战杯资料包

互联网+一本通

外研社一本通

求是杯

大英赛一本通

大英赛资料包

普译奖资料包

韩素音资料包

小挑一本通

创青春资料包

外语竞赛一本通

小语种竞赛手册

美赛一本通

美赛62问

美赛真题论文

正大杯

蓝桥杯

周培源

节能减排

大唐杯

政务关注

三创赛

保研手册

环境保研手册

网安保研手册

电信保研手册

物理学保研手册

社保保研手册

社会学保研手册

社医卫管保研手册

马理论保研手册

政治学保研手册

学科英语保研手册

学科语文保研手册

教育学保研手册

新传保研手册

汉语言保研手册

汉硕保研手册

电气保研手册

计算机保研手册

经管保研手册

戏剧影视保研手册

自动化保研手册

基础医学保研手册

预防医学保研手册

口腔医学保研手册

行政管理保研手册

生物保研手册

 集电保研手册


_

保研岛
保研岛:保研学子的资讯资料聚合平台,推送实用保研经验、及时保研信息、快捷保研资讯、干货保研资料,预测保研趋势,助力保研加分,丰富保研背景,提升保研竞争力,陪你闯过夏令营、预推免、正式推免,圆你保研名校梦!
 最新文章