软件构造学习记录(合)

  很仓促,要结束了。但也是一个非常俗套的剧情,我的学习才刚刚起步。因为苦恼写规约和写测试用例,我在小学期选了软件测试课。或许之后会就软件测试课的学习做一些内容吧。即使仅仅是最后一周在这里赶工,写博客的魅力多少还是感受到了。在这里祝各位的学习和生活都顺利吧,同时也希望我能够坚持学习下去。感谢您的浏览。

软件构造课程个人总结

  那么一个学期的内容自然没有办法面面俱到,我认为课程设计上已经删除了很多需要更多实践才能学习到的知识。总得来说,软件构造课程结构清晰、章节目标明确。
  本学期软件构造课程按照如下内容展开:
  1.什么是软件构造?我们要以什么视角来看待?以及我们关注什么重要的软件质量标准?;
  2.软件生命周期是什么?软件要素有什么?什么是面向对象编程?抽象数据结构理论和面向对象编程的联系?
  3.有关重要的质量标准:可复用性、可维护性、正确性、健壮性。方便地实现可复用性和可维护性的方法有什么?如何保证软件的正确性和健壮性?
  4.一点点的多线程入门:并发、线程安全、锁与同步。

  个人的回答:
  1.软件构造是根据软件所属的状态的不同,设计并完善软件的一项活动,在活动中,我们需要关注软件在不同状态之间的转化以及针对我们所追求的性能在不同状态下的表现形式。所谓状态可以按照三个维度来划分八个状态:构建时和运行时、代码层次和组件层次、时刻性与时段性。软件构造的过程也是软件从一无所有到成品软件之间的状态转换过程。
  软件的重要质量指标有许多:比如对外有正确性、效率性、可复用性、兼容性、安全性等;对内有代码可读性、代码可理解性、独立性(多人合作的片段不互相干扰)等内容。
  2.软件生命周期有许多种形式,总得来说我认为软件的生命周期是:一个软件从想法诞生到需求确定,再到工程实践,再到测试、使用和维护,最后发生新的想法诞生这样的事件的一个流程。
  而软件的要素,根据软件构造的流程和软件生命周期的流程,我认为有:必要的数据结构,一个软件自然需要输入输出,其中需要合适的存储数据的结构;合理的架构,软件的架构是很重要的元素,好的架构意味着好的性能和体验;好的对外接口,软件是商品,便于用户的使用自然是软件的一个重要指标,由此好的交互设计也是重要的元素。
  面向对象编程和面向过程编程给我最大的不同的感受是它们在思考方式上的差异:面向过程编程时,我着重于怎么完成任务;面向对象编程似乎在强调我怎么样去设计单元,要求我关注单元的行为和单元之间交互的行为。

  OOP是实现ADT理论的具体实现技术。OOP时需要密切关注ADT的设计。

  3.关于可复用性和可维护性,使用已经总结好的方法模型是一个方便的方法,回到课程中介绍可复用性的部分,有:

不要重复发明轮子!

这样的警示。
  关于保证健壮性和正确性,那么就需要我们针对设计的规约做文章,合理的设计、恰当的测试分别从理论层面和事件层面保证了这两个重要属性。不过当然,百密一疏,我们往往需要对于高风险的地方,完成错误信息的采集工作,这就关系到日志系统和异常处置的内容了。
  4.没有什么想法,感觉还是超出了我的能力范围。。。XD多看看吧我还是。

结语

  四个主体部分写完了,自己的不足也比较充分地暴露了。时常我会怀疑我是否适合学习计算机专业。希望我能更加努力吧。(虚假的努力恐怕说的就是我XD)感谢您的浏览。

以上,致礼

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值