学习软件构造这门课程之后,我对于:什么是软件的一些理解:
软件的构成由程序、数据、文档等部分构成。其中程序(Program)包括UI, Algorithms, Utilities, APIs, test cases,等部分。数据(Data)则由files, databases所构成。文档(Documents)包括了SRS需求规格说明, SDD设计规格说明, user manuals这些部分。
当构建一款软件时,需要考虑以下的因素,即用户,谁来使用这款软件;商业目标,为什么这款软件是有用的;社会环境,这一软件需要应遵循何种法则;技术环境,即如何实施软件所需的一些功能;和硬件网络等设施,着重考虑这一款软件在何处运行以及如何良好的运行。
同时,软件构造过程具有多维视图,包括构建、运行等阶段;时刻周期等动态视角;以及从代码到组件的级别。而 构建一款软件大致是以下过程: 想法 -> 需求 -> 设计 -> 代码 -> 可安装可执行的包。代码:源代码由基本程序块及其依赖关系进行逻辑组织。
组件:源代码通过文件,目录,包,库及其依赖关系进行物理组织。
时刻:特定时间内源代码和组件的形式。
时期:程序随时间的演变。