用户需求,有些容易做到,有些难以做到,软件团队需要把合适的需求梳理出来,然后逐步展开后续工作。
合理的软件架构、软件设计。
数据结构和算法。
软件人员的流动,新的成员要尽快读懂已有的程序,了解程序的设计。
要时不时给软件打一个补丁,或者维护众多的服务器,团队的新老成员要一起工作,修复各种各样的问题。
用户体验和数据结构算法没有直接的关系,但是很多非常成功的软件就赢在这个方面。
各种文件和数据来描述各个程序文件之间的依赖关系、编译参数、链接参数等等,这些都是软件构建的过程。
修改源代码保持质量,新加合并新功能,不同的版本不同的界面。
合理的软件架构,软件设计与实现。
验证和保证程序的正确性。
需求分析等。
程序的基本功是数据结构和算法,但是在数据结构和算法之上,软件工程决定了软件的质量,商业模式决定软件企业的成败。