"简化的商业自动化系统是一个针对营业员、收款员和经理操作的系统,主要涉及商品销售、现金管理及销售情况统计。系统通过顶层数据流图(DFD)来建立功能模型,包括3个输入流(如销售的商品、现金额等)、3个输出流(如销售情况、日销售额等),数据源为营业员、经理和收款员,数据潭为经理和收款员。该系统旨在简化商业运营流程,提高效率。
软件工程是系统性地开展软件开发和测评的学科,它要求我们理解并掌握软件开发的全过程。北京大学软件工程国家工程研究中心的王立福强调了软件工程基础的重要性,包括了解软件开发的本质、软件过程、需求获取和规格说明、开发方法学以及软件成熟度模型(CMM)。
软件开发的本质是将问题域(客观事物系统)映射到不同抽象层的概念和计算逻辑,包括数据抽象和过程抽象。数据抽象是指从问题空间的概念到模型化概念的转换,如使用面向对象方法进行需求分析;而过程抽象则是将问题空间的处理逻辑转化为可构造的计算逻辑,常采用结构化方法。这两个抽象过程都是需求分析阶段的重要组成部分。
软件过程涉及一系列开发活动及其组织,从早期的需求获取到后期的系统测试和维护。软件需求及系统/产品需求规约是软件开发的起点,它们为产品的确认和测试提供了标准。开发方法学则提供了如何进行开发活动的指导,包括结构化方法、面向对象方法、面向数据结构方法、维也纳开发方法等多种途径,每种方法都有其适用场景和优势。
CMM(Capability Maturity Model for software)是一种衡量和改进软件开发过程能力的框架,确保能产出高质量的产品或系统。软件开发的生命周期涵盖了从概念形成到产品退役的各个阶段,而软件工程的支持过程则为这些阶段提供了工具和技术支持,包括项目管理、配置管理、质量管理等。
在实际应用中,软件开发可能涉及到各种技术和工具,如编程语言、中间件、应用框架等,这些工具和技术的选择和使用应根据项目需求和团队能力来确定。例如,面向对象方法用于数据抽象,结构化方法用于过程抽象,而面向数据结构方法和维也纳开发方法则提供不同的设计思路。
简化的商业自动化系统是软件工程理论应用于商业环境的一个实例,它融合了数据抽象、过程抽象和系统组织等多个软件工程核心概念,展示了如何通过结构化和面向对象的方法来实现高效自动化系统。"