我是软嵌171班级的张家毓,兴趣指引我选择了软件工程专业。过去的两年内,接触了Python、Java、jsp、C++、SQL等编程语言,掌握了些软件工程学习的基础知识,也尝试过小游戏编码、模拟计算机调度算法等项目。随着学习的推进,编程要求深度和难度的逐渐提升,我越发觉得我已掌握的知识已不能与我即将面临的挑战相匹配,希望在这一学期的学习中能够取得更大的进步,缩小与其他同学间的差距。
问题:
1.软件以工程化的方式开发,除了便于通过框架来统一软件的开发,达到减少程序员间相互理解出错的效果外,还有什么作用、目的?
2.凡事皆有利弊。使用面向对象的方法进行开发,进行对数据封装、继承,能够使编程开发更贴近人的习惯,可与此同时,是否有什么缺点,或者说采用面向对象的方法开发的代价是什么?
3.软件工程化开发过程中,程序员会对阶段性地测试代码,是否需要软件测试人员在软件开发的初始就介入软件测试,测试人员是一直跟随软件开发还是只在后期测试阶段查bug?
4.用户需求变更是软件开发过程中的常见的事情,面对这种情况,开发人员、开发团队该采取什么样的方法处理?
5.大多数app或者游戏软件,我们没有办法查看其源代码,或者使用编译工具打开看到的是乱码,是加密手段吗?我们的学习到如今都没有接触,该如何做到?