软件工程导论读后感

软件工程导论读后感


    用了大约一星期时间把这本《软件工程导论》粗略的看了一遍,真的让我受益匪浅。最多的还是专业知识方面的获取,当然书中的一些软件项目管理,团队人员管理也让我多多少少对团队项目有个更多的认识。先来浅显的谈谈吧。

    本书中一开始几章讲的是软件设计过程中常用的几种过程模型,像是瀑布模型、增量模型之类的,其次讲到了可行性的分析研究。这一点在一些项目计划中用的最多,应该说每一个项目都离不开可行性的分析。可行性分析并不是要去解决问题,而是去确定问题值不值得去解决。我还没做过具体的项目,所以对这一点认识也不是很深,但是这一部分的研究是必不可少的。后面就是介绍数据流图、数据字典之类的了,中间几章都是对软件设计过程中具体某些模块技术的实现了,这里就不重复了。

    软件工程导论是一门软件工程专业的必修课,初读这本书,加上在知乎上看到的一些网友的讨论,我认识在软件工程中由“对象+类+继承+消息”组成的面向对象的开发方法是十分重要的。软件开发的生命周期中,问题定义、可行性、需求分析、概要设计、详细设计、程序设计、测试文档、技术支持和售后服务都是缺一不可的。特别注意的是,可行性的分析要从经济、技术、法律和社会四个方面考虑。软件过程改进中,软件能力成熟度模型划分为初始级、可重复级、已定义级、已定量管理级和优化级五个等级。项目进度管理的可视化工具中甘特图能直观地表明计划在什么时候进行,及实际进展与计划要求的对比,缺点是:没有指出影响项目寿命周期的关键所在。而任务网络图能比较直接地反映出依赖关系。以上是比较概念的知识点。

     需求分析方法中结构化分析方法是十分重要的。首先是由“数据流、加工、数据存储和外部实体”构成的数据流图,体现了系统的逻辑模型或者说是功能建模。再来是,面向过程的结构化设计,模块独立的独立性主要采用耦合和内聚进行衡量,其标准是:低耦合,高内聚。比如说,内容耦合的耦合性高模块独立性弱,这是需要避免的耦合;至于内聚,偶然内聚、逻辑内聚和时间内聚都是低内聚,模块独立性弱,也是需要避免的。其次是结构化软件设计中,从数据流转换成数据模块图,要用到变换流以及事务流的分析方法。最后,软件测试中要注意的是测试用例,其中,输入数据和预期结果这两方面内容尤其重要。

     面向对象的开发方法,其特征包含封装性、唯一性、抽象性、继承性和多态性。其统一建模语言是:UML。UML的视图由:用例图、静态图、行为图、交互图和实现图组成。我认为这是整本书中最重要的部分。

     在看完这本书后,还有一点让我印象深刻。分工的重要性,说道分工那就不得不提组长这个职位,一个团队中必须选出一个决策者,这样在遇到大的事情时才会有人做决定,组长在团队中起到了领头羊的作用,组长必须根据每个成员的特点对其进行分工,只有一个好的分工才能保证项目又快又好的完成。分工完成后就到了团队成员的磨合期了,每个人有每个人的主见和思想,所以在很多事情上可能会争执起来,这时候该组长出面了,组长既要做一个正确的决定还得安抚好每个成员的情绪,让每个人不能把情绪带到工作中去。作为这个组的一个成员,我觉着每个人也应该控制一下自己的小情绪,在一个团队中,只要每个人都能够包容一点,那么无论大事小事都不会产生伤和气这种事。

     不仅仅是书中内容的一些感悟,更多的是对我现在处境的一些认识。感受认识有以下几点:

     1、现在社会中最不缺的就是人才,本科学历已经是基本要求了,公司看重的是个人能力优秀的人,如果我们没有那么强大的技术能力···尤其是向像我们这样的专业,只能说等同于大学没有上过一样,听说一个软件专业刚毕业的人,进公司最低能力要求也是能独立开发一个网站。加上现在就业竞争压力这么大,我们更应该趁现在好好学。

     2、软件工程是一门需要大量实践时间的学科。我们现在应该多敲代码,锻炼动手能力。反观我们有一些人,只是上课听一听,跟着老师,课本敲一下代码而已,课下完全没有自己练习。这样无疑是学不好软件的。写代码中出现的问题是谁也无法预料的,如果不趁现在多练练,那到时候开发一个项目时遇到程序代码出错了,就只能手忙脚乱了。

     3、能够保持守拙求知的良好品质。在当今复杂的学术界,要保持一颗孩童般的心,努力成为一个真实,正直,优秀的科技人员,这无疑是十分难能可贵的。反观我们当代的一些大学生,一些人急于求成,专注于赚钱,被一些琐事支配了大部分的时间。

     4、软件工程是把系统的、有序的、可量的方法应用到软件的开发、运营和维护上的过程。它是一门实践性很强的学科,所以在实际的软件研制过程中,人员的素质占据着非常重要的地位。在具体的软件工程项目中,人员的角色定位,任务分配,以及团队内成员之间的协调配合是非常重要的。人员的角色定位以及任务分配,是属于技术层面的资源配置,软件过程的各个环节,都必须有最合适的人选,该环节才能得到最有效的技术资源,而整个团队内成员之间的配合协调,则是属于管理层面的资源整合,通过充分调度软件生产的各个环节,精细安排,整个软件工程项目才能有条不紊地展开,软件生产的理论才能更好地应用于实际。团队合作。一个团队有一致的的集体目标,需要一起完成这目标,团队成员有各自的分工,互相依赖合作,共同完成任务。不同的团队对于任务的分工以及各自的完成度,目标等等都不同。一个好的团队需要具备各个领域的擅长着以及一位分配任务的领导者。在软件工程中,程序员的水平都有所不同。一个一流的程序员是一个普通程序员效率的数倍以致十几倍,领导者可以根据团队贡献率来分配工资。一个团队需要进行交流,磨合,上升到规范,最后达到创造阶段,共同寻找目标,这样团队的效率达到巅峰状态,但是同时也要注意和别的团队交流与合作,这样更能促进提高。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值