林锐——软件思想阅读笔记2

本章作者给我们讲述了可行性分析和需求分析的重要性和其中的一些问题。可行性分析就是要知道这件事情能不能做成功,而需求分析讲的是我们该做什么不该做什么。一般影响可行性分析的因素有经济,技术,社会环境和人 。

经济方面我们首先要考虑成本和收益问题,在考虑这个问题时我们要把成本算仔细,不管是前期还是后期维护我们都要考虑清楚,要不会给你带来很大的麻烦,然后就是短期利益和长期利益的关系了,我们都想短期利益和长期利益兼得,但是鱼和熊掌大部分时间是不能兼得的,所以作为一个有远见的人我们要能为了长期利益而放弃短期利益。

技术是整个项目的支撑,我们要保证功能的实现产品的质量和生产率这样我们才能保障利益的所在。

社会环境因素也是产业迅速发展的重要因素,如果国家有政策来扶持这个一块的发展那将是很好的一个发展机遇。其次是要有一个很好的市场,市场可以分为三种,未成熟市场,成熟市场和将要消亡的市场,哪一个市场机会更大呢,当然是未成熟的市场,但是未成熟的市场也存在很大的风险,但是你要知道收益和风险永远是成正比的。

不管是什么行业,不管到什么时候人都是这个行业的重要支柱,是行业发展的关键,他永远占据着举足轻重的地位。在利用人才的时候我们要根据他们各自不同的特点做到让他们各尽其能。

文中作者通过自己开公司和两个朋友投资的事情给我们讲述了可行性分析的重要性,我们在做事情时一定要做一个正确的可行性分析,不能有太大的赌博心理,那样你将会看不到你想要的利益。

同样在做需求分析时我们也会与到这样或者那样的困难,比如说用户说不清楚需求,需求经常变动,分析人员或客户理解有误。这些都将是我们开发过程中的困难,但是我们不能迎难而退,我们要怎样才能做好需求分析呢?首先我们要考虑我们要去了解什么?其次是我们要通过什么样的方式去了解。只有这样我们才有可能把需求分析做好。

在第五章中作者给我们讲述了系统设计,主要包括体系结构设计,模块设计,数据结构与算法设计,用户界面设计。系统设计是把需求分析转化为软件系统的关键环节,系统的设计的优劣在根本上决定了软件系统的质量。所以说一个好的系统设计对一个软件项目来说是非常必要的。体系结构是软件中最本质的东西,好的体系结构意味着普适,高效和稳定。要做好体系结构的设计其实并不容易,但是我们可以把它分解开来做那样就会变得容易很多。同样我们在生活中也会遇到很多难事感到无从下手,但是当我们把这些问题进行分解之后就会感到很容易很轻松。一个高效率的程序离不开一个好的数据结构和算法。数据结构是程序的基础,所以要想编出好程序不是要学会多少编程技巧而是要学会好的数据结构和算法。在用户界面设计这一块也是需要下功夫的,因为这能使用户对你产生感性的评价。用户界面要美要友好大方。美你还得让他美得合适,美得有技巧。在此借用作者的一句话来和大家分享,所有真正杰出的设计,一旦被设计好,看起来都是那么的简单和显而易见。但是在获得杰出设计的过程中,需要付出令人难以置信的努力。

在第六章作者给我们讲述了C++面向对象程序设计。作者通过自己多年编程的感受给我们讲解了应该如何去编程,如何理解面向对象编程,如何理解C++中的一些重要的基本概念。C++博大精深永远有我们学不完的东西,我们应该虚心去学习,去接受别人的意见,养成一个良好的编程风格。不要因为会用C++编程而得意洋洋,那只不过是程序员的基本技能要求而已。

我们不应该只把目光聚集在编程上面,我们应该让自己博学多才。

时间: 04-02

林锐——软件思想阅读笔记2的相关文章

林锐——软件工程思想后两章阅读笔记

本章作者给我们讲述了测试与改错,在软件工程中软件测试也是非常重要的一个环节.软件测试能够提高软件的质量.我们可以通过软件测试来发现软件中的缺陷.但同时这对测试人员和程序员都是一个挑战.他们都要有好的心理素质,和好的沟通方法.只有程序员和测试人员通力合作才能把软件的质量做的更好.测试人员要做对软件进行正确性的测试,容错性测试,性能和效率的测试,易用性测试,文档测试等这些都是测试人员必须要做的.相对来说改错是程序员的艰巨任务.作为一个优秀的程序员不仅要敢于承认自己代码的缺陷还要有能力去改进.这些都是

软件方法阅读笔记(一)

<软件方法>讲的是用UML语言来辅助我们进行软件的从0到1的过程.这个过程的结果并不是最终运行在电脑屏幕上的那个界面,而是一堆图纸,可视化的图纸.是的,确实是图纸.建筑行业有设计和施工图纸,电工行业有设计和实施图纸,城市规划有图纸··· ···任何你看得到的工程都有图纸,你要写的软件居然没有.“图纸在我脑子里呢”,我也曾经说过.直到看到这本书.这本书的直接受众应该有两类人:1.程序员这类人一般的工作思路就是提功能的人说要做什么,嗯嗯哦哦之后,迫不及待的打开编辑器开始写代码,调试,然后发现做完的

软件需求分析——阅读笔记5

读<需求工程--软件建模与分析> 第四部分 需求的文档化和验证 有感 需求获取活动收集了需求信息,需求分析活动深入地理解了需求信息并建立了能够满足用户需要的软件解决方案.而需求规格说明活动就是将需求及其软件解决方案进行定义和文档化,并传递给开发人员的需求工程活动. 需求规格说明文档是需求规格说明活动的一个核心元素.(1)需求规格说明文档可以成为各方人员之间有关软件系统的协议基准.(2)需求规格说明文档可以成为项目开发活动的一个重要依据.(3)在需求规格说明文档的编写过程中,可以尽早的发现和减少

Swift 编程思想 阅读笔记

Swift 编程思想,第一部分:拯救小马html, body {overflow-x: initial !important;}.CodeMirror { height: auto; } .CodeMirror-scroll { overflow-y: hidden; overflow-x: auto; } .CodeMirror-lines { padding: 4px 0px; } .CodeMirror pre { padding: 0px 4px; } .CodeMirror-scrol

软件需求分析——阅读笔记6

读<需求工程--软甲建模与分析> 第五部分 需求管理与工程管理有感 在需求开发活动之后,需求基线应该成为后序软件系统开发的工作基础和粘合剂.需求管理在需求开发之后的产品生命周期中保证需求作用的有效发挥.作为需求开发的结果,最终的需求应该被明确和固定,需求基线就是被明确和固定的需求集合,是项目团队需要在,某一特定产品版本中实现的特征和需求集合.需求基线是需求开发过程中的成果总结,他需要在后续的产品生命周期中持续发挥作用.因此,需求基线要以一种持续.恒定和易于项目涉众访问的方式存在,通常的做法是将

软件需求阅读笔记01

建筑往往是根据设计图来完成的,软件也不例外,一个项目的质量和设计规划图有着密不可分的关系.这之间的联系,简单来说,便是用户和工程师的沟通,用户说出自己的需求来让工程师去实现.而需求包括三个不同的层次--业务需求.用户需求和功能需求,需求使问题变得明确,它是一一指明实现说明的规格说明,描述了系统的行为.特性或属性,是在开发过程中的约束. 需求的质量高低对于程序员来说很重要,实行有效的需求工程管理的组织能火得多方面的好处,其中最大的好处是在开发后期和整个维护阶段的重做的工作大大减少了.正确的需求过程

软件需求阅读笔记02

如果一个项目缺乏明确的规划和良好的信息交流途径,那将是十分糟糕的.如果项目的参与者持有不同的目标和优先权,那么他们只能各抒己见,无心工作.如果项目的风险承担者在产品所能满足的业务需要和产品所能提供的利益问题上不能达成一致的意见,那么需求决不会稳定.一个清晰的项目视图和范围过于分散在多个地方开发,在这样的项目中,地理位置上的分离使项目开发组成员必须天天进行相互沟通才能保证他们之间能进行更有效的合作. 项目视图可以把项目参与者定位到一个共同和明确的方向上.项目视图描述了产品所涉及的各个方面和在一个完

软件需求阅读笔记

案例: 某大银行的一位银行卡办公室的收账经理Liz遇到了一个问题.她每周都收到一份过期未付款的账户名单.这份报告已经从两年前的250个账户增加到现在的1250个账户. 为了确定那些严重拖欠债务的账户,Liz需要通读这份报告.严重拖欠债务的账户由几个不同的规则确定,每个规则都要求Liz检查客户的一项或几项数据.过去半天的工作量现在增加到了每周三天.即使在确定了严重拖欠债务的账户后,如果没有查阅该账户三年内的历史资料,Liz也不能做出最后的信用决定(例如严厉的催款电话.断绝信用或将这个账户转给一个收

软件需求阅读笔记3

IEEE对需求定义为:①用户为了解决问题或达到某些目标所需要的条件或能力.②系统或系统部件为了满足合同.标准.规范或其他正式文档所规定的要求而需要具备的条件或能力.③对①或②中的一个条件或一种能力的一种文档化表述.通过这个定义了解了需求并不是用户想要的,想实现的,了解了需求本质的内涵. 功能需求是软件系统需求中最常见.最主要和最重要的需求,同时也是最为复杂的需求.功能需求通常体现为三个层次:业务需求.用户需求.系统需求. 业务需求描述了组织为什么要开发系统,满足用户的业务需求.业务需求是用户需要