161
社区成员




P10 关于 “软件工程与计算机科学的关系相关内容”
提问:软件工程与计算机科学之间的关系?
答:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。计算机科学,研究计算机及其周围各种现象和规律的科学,亦即研究计算机系统结构、程序系统(即软件)、人工智能以及计算本身的性质和问题的学科。计算机科学与技术:涉及大数据技术导论、数据采集与处理实践(Python)、Web前/后端开发、统计与数据分析、机器学习、高级数据库系统、数据可视化、云计算技术、人工智能、自然语言处理、媒体大数据案例分析、网络空间安全、计算机网络、数据结构、软件工程、操作系统等方面。软件工程:涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。
P141 “MSF团队模型的核心是,成功的技术项目必须符合各种利益相关人完全不同且常常对立的质量观点。”
我的观点:我并不能完全认同这种说法。
确实,正如书中所说,各个角色的利益是有一定冲突的,MSF没有掩饰这一点,但是据我所知,程序员和产品经理之间的矛盾和冲突几乎至今都无法被很好地解决。产品经理时常为了满足用户需求而改写产品方案,对程序员提出一直在改变的甚至是越来越复杂困难的要求,而程序员常常给出“完成不了”的回复,从而导致了很大的冲突。我认为这样的立场差异是很难弥合的。当然,正如书中所说的,面对很多问题,我们只能“处理”,并不能“解决”。但是如何预先提前地降低这样子的冲突所带来的效率低下和不断返工,能够在满足用户需求的基础上不去为难程序员,确实是我们需要好好去思考的。
p108 敏捷流程相关章节
提问:敏捷宣言是不是软件开发思想的优势?
找到的资料:
敏捷式开发需要一个可以掌握大方向的人,而且整体不能出大错,像一个软件开发项目,需要项目经理确定大的方向,然后将项目分成一小段的,然后进行开发,相对于瀑布模型,它需要的时间短,目标明确,管理也简洁一下,缺点就是需要有大局观的项目经理,一旦发生大的错误,就要重新开始。
P194 “如果有人认为所有的代码签入必须是完美的,此人将是项目的一个风险。在另一种情况下,项目组花大价钱招募外部公司开发一个关键模块,存在的风险是:外部公司提供的模块质量可能大大低于预期。”
点评:这里举例主要是为了说明在人员方面存在很大的不确定性,而给项目带来一定可能的风险,但是这里举出的这个例子我认为有一些强行解释在里面了。无论从什么角度去看,开发者一定都希望签入的代码能够没有太多问题,当然追求完美确实是太苛刻了,但是我觉得没有开发者会因为自己的某种洁癖或者强迫症而拖累整个项目组的进度吧,毕竟没有人喜欢一直加班吧。而后者,我认为这也是一个非常正常的市场现象,不能算是风险,因为这个问题对于所有的公司基本都存在,只能说是一个影响质量的因素。
5.阅读了教材p303质量保证章节,问题:软件测试与软件质量的关系。
答:软件测试和软件质量的概念是分不开的。测试是手段,质量是目的。软件测试能够提高软件质量,但是软件测试和软件质量保证二者之间既存在包含又存有交叉的关系。软件测试能够找出软件缺陷,确保软件产品满足需求。但是测试不是质量保证。测试可以查找错误并进行修改,从而提高软件产品的质量。软件质量保证则是避免错误以求高质量,并且还有其他方面的措施以保证质量问题。