这个作业属于哪个课程 | 软工 计科二班 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/computer-science-class2-2018/homework/11815 |
这个作业的目标 | 读构建之法后提出疑问 |
学号 | 20188425 |
问题一:
在第一章概述里,邹欣老师讲了一个飞机的安全功能的案例,里面说了两个故事,分别讲述了民航飞机机组人员在飞机出现紧急状况,采取一系列措施将飞机安全降落,机上乘客全部安全撤离。那么,在程序运行中,程序高速运行,突然出现异常,我们的程序能否正常工作,并安全退出,这里,我提出一个疑问,即程序的安全性是什么,如果程序出现类似两架飞机事故级别的问题,我们该如何解决?当一个软件发布后,我们又该如何维护我们的软件?
问题二:
我们都知道,程序=算法+数据结构;软件=程序+软件工程,在第二章第二节——2.4 实践-设计有实际意义的软件工程作业中,指出了软件工程的作业,不仅仅是程序,而是要加入软件工程的要素(复杂性、易变性和其他),我们也知道,一个有价值的软件工程作业必须要触及这两个要素。在开发过程中,成员之间,通过交流,共同完成代码,不免会产生冗余的代码,如果不加注释,完后来回看可能会和之前写的时候的看法不同,此时如果再修改代码,将会是个耗时耗力的工程,那么我们在写代码时,如何保证代码的有效性,写出高质量代码,即避免写出一些不需要的无用代码,提高程序效率。
问题三:
在第五章 团队和流程中,里面详细写了多种软件团队合作模式,每个模式基本大同小异所有模式,其都有一个共同点——各司其职。那么我们在开发项目时,如何让别人知道你写的代码代表的意思,或者说如何让你的代码更加易于他人(组员组长)阅读和理解。在后续的开发过程中,又该如何维护呢?
问题四:
第六章 敏捷流程中,里面指出了敏捷流程的问题和解法,即在计划中体现需求和任务之间的依赖关系,把任务从产品层级的描述逐步细化到技术实现层面,需要很好的技术能力和交流能力。那么,我们在用敏捷流程解决问题过程中,如何让搭档或客户知道并了解你这个项目的进度完成了多少,在完成此任务后,如何优化接下来要完成的程序并合理分配时间?此外,书中提到了软件共享和开源,两者都是让除开发者外的用户知道这款软件的原理,那么,对于软件工程师或软件作者来说,在此环境下(软件共享和开源)如何保护自己的知识产权?软件共享和开源的本质区别是什么,什么情况下软件可以共享或开源,反之呢?
问题五:
在第七章 实战中的软件工程中,邹欣老师举出了微软公司为如何解决让用户体验和知道微软产品提出了一个方法论——微软解决方案框架(MSF),软件开发者,在开发软件过程中,不可避免要和用户打交道,即使一线码农不需要,项目经理总需要和目标用户交流。在这个过程中,如何让用户知道你这款软件能为其带来收益或便利,并与你达成合作。如何避免出现,“我觉得,不要你觉得”的“明”言,即如说服客户在经过项目经理介绍软件功能和后续维护后,与你们达成合作。