软件工程硕士论文

您当前的位置:学术堂 > 毕业论文 > 在职硕士论文 > 工程硕士论文 > 软件工程硕士论文 >

审计项目管理系统相关概念和技术

来源:学术堂 作者:杜老师
发布于:2019-02-23 共4640字
  本篇论文快速导航:

展开更多

  第二章 相关概念和技术。

  2.1 审计项目管理概述。

  组织实施审计项目是审计机构的主要工作内容,因此审计项目管理是审计工作管理的关键环节。对审计项目的管理是否及时、全面、有效,直接关系到审计工作的质量,影响着审计工作的成效[9]。

审计项目管理系统相关概念和技术

  审计项目管理,是指审计部门和相关审计人员按照审计准则的要求,通过协调和监督审计组成员的活动,对具体审计项目的全过程,运用各种科学手段、制度和载体,进行计划、执行、控制、检查、监督和反馈等一系列自我约束的活动[10]。审计项目管理主要包括三个阶段,具体业务流程如图 2.1 所示。

 

  1.审计项目计划准备阶段。

  主要包括制定审计项目计划,成立审计组,制发审计通知书,开展审前调查,编制审计实施方案等内容。审计项目计划是审计机关为履行审计职责而对计划期内的审计项目和专项审计调查项目作出的统一安排,规定了计划期内基本工作任务、时间要求和人力资源安排,是审计机关依法开展审计工作最直接的依据,也是检验和评价审计部门工作任务完成情况的重要依据[11],因而项目计划管理是整个项目管理的基础。

  2.审计项目实施阶段。

  审计组按要求送达审计通知书后,审计组深入到被审计单位开展现场检查。结合被审计单位的经济业务,运用科学的审计方法,获取充分的审计资料,全面、客观了解掌握被审计单位的经营状况,发现并揭示被审计单位在经营管理中存在的问题,提出针对性的审计意见和建议,并在审计取证单、审计工作底稿中详细完整地记录审计步骤、方法、取证过程和审计结论。同时,将初步审计结果送达被审计单位征求意见。

  3.审计项目终结阶段。

  根据被审计单位的反馈意见,进一步核实审计情况,取得被审计单位的认可。出具正式审计结论性文书。审计报告是全面反映审计情况、分析结论、评价结果及其处理意见的一种书面报告,是审计成果的主要载体。针对审计发现的问题,督促被审计单位及时整改,保证审计意见、审计决定的落实,促进被审计单位强化管理,充分体现审计成效。

  2.2 软件工程概述。

  2.2.1 基本概念。

  1993 年,IEEE 对软件工程(Software Engineering)的定义是:软件工程是将系统化的、规范化的、可度量的途径应用于软件的开发、运行和维护的过程,即将工程化应用于软件的方法的研究[12]。在当今社会中,软件应用于多个方面[13],而各行各业几乎都有计算机软件的应用。这些应用有力促进了经济和社会的发展,提高了工作效率,提升了人们的生活质量。

  2.2.2 软件工程三要素。

  软件工程是一种层次化的技术,以质量为关注焦点,以相关的现代化管理为理念,其中过程、方法和工具是软件工程的三要素[14],如图 2.2 所示。

 

  1.质量焦点。

  软件工程必须以有组织的质量保证为前提,因为有了全面质量管理和过程改进,更加成熟的软件工程方法才能不断出现。

  2.过程。

  过程层是软件工程的基础。软件工程过程是为了生产一个最终能满足需求且达到工程目标的软件产品,软件人员在软件工具支持下完成的包括开发、运作、维护等一系列的活动[15],贯穿于软件开发的各个环节。它定义了方法使用的顺序、要求交付的文档资料等。

  3.方法。

  软件工程方法是为软件开发提供了“如何做”的技术,它涵盖了项目计划、需求分析、系统设计、程序实现、测试与维护等一系列的任务。

  4.工具。

  软件工程工具为软件工程方法提供了自动的或半自动的软件支撑环境,用以辅助软件开发任务的完成。现有的软件工具覆盖了需求分析、系统建模、代码生成、程序调试和软件测试等多个方面,形成了集成化的软件工程开发环境 CASE(Computer Aided Software Engineering,计算机辅助软件工程),集成了软件、硬件和一个存放开发过程信息的软件工程数据库,形成了一个软件工程环境。其作用是提高软件的开发效率,提升软件质量,降低开发成本。

  2.2.3 软件工程阶段。

  如果不考虑应用领域、项目规模和复杂性等因素,与软件工程相关的工作一般可以分为三个阶段,即定义阶段、开发阶段和维护阶段[16]。

  1.定义阶段。

  该阶段集中于“做什么”, 也就是定义系统和软件的关键需求。在定义过程中,负责系统分析的人员必须弄清楚要处理的信息是什么,预期完成的功能有哪些,需要达到什么性能指标,有哪些设计约束。此外,还要明确系统行为、界面等方面有哪些需求。在该阶段一般要完成三个主要任务,即系统或信息工程、软件项目计划和需求分析。

  2.开发阶段。

  这个阶段集中于“如何做”,在开发过程中,需要设计软件的总体数据结构和数据库结构,功能如何转换为精确的、结构化的过程描述,如何实现过程细节,如何显示界面,如何将设计转换为具体的软件代码,测试如何执行。在开发阶段采用的方法可以不同,但都要完成三个任务:软件设计、代码生成和软件测试。

  3.维护阶段。

  此阶段集中于“改变”,这些改变包括:纠正错误、对环境的适应性修改、以满足用户需求变化为目标的增强性修改、以提高软件的适应性和增强软件的功能为目标的预防性维护。维护阶段会重复定义和开发阶段的步骤。

  2.3 数据库技术概述。

  2.3.1 数据库的概念。

  在当今的信息化时代,有效地管理和利用各类信息资源是进行科学研究和决策管理的前提条件。数据库技术就是进行科学研究和决策管理的重要技术手段,是开发管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心技术。

  数据库系统是使用了数据库技术的计算机系统,由数据库、硬件、数据库管理系统等软件和 DBA 组成[17]。其中的数据库(Database,DB)是以某种数据模型组织起来的相关数据的集合,这个集合中的数据冗余(即重复)度低,并以最优方式为多种应用服务和共享,集合中的数据结构独立于使用它的应用程序;其中的数据库管理系统(Database Manager System,DBMS)负责对数据库进行统一的管理和控制,包括对数据的增、删、改和检索,以及并发控制和保证数据库的数据完整性、安全性、可恢复性等。其中的数据库的安全性是指保护数据库以防止非法操作所造成的数据泄露、篡改或破坏,主要防范非法用户;数据完整性是指数据取值与客观世界的语义相符,在逻辑上正确和有效,例如工龄小于年龄,主要防范合法用户的误操作。

  数据库系统的核心和基础是数据模型,典型的数据模型有网状型、层次型和关系型三种[18]。二十世纪八十年代起,采用关系数据模型的关系型数据库就成为了应用主流,目前流行的大型关系型数据库包括 Oracle、IBM DB2、MicrosoftSQL Server 等都是关系型数据管理系统产品。

  2.3.2 Oracle 数据库管理系统。

  Oracle 数据库管理系统是美国 Oracle(甲骨文)公司提供的以分布式数据库为核心的一组软件产品,是目前最主流的 C/S 或 B/S 体系结构的数据库管理系统之一。Oracle 的数据库存储结构分为逻辑存储结构和物理存储结构[19]。Oracle 的数据库中的数据(如表 table、索引 index 等)物理上存储在 1 至多个数据文件中,但逻辑上又被划分为表空间、段、区、块等逻辑存储结构来进行组织管理,Oracle的存储结构如图 2.3 所示。

 

  Oracle 数据库管理系统的特点包括:

  1.跨平台、支持大型数据库。

  Oracle 数据库管理系统可以在包括从 PC 机到大型机的多种硬件平台上运行,支持几乎所有的主流操作系统,包括 Windows、Linux、Unix 等。用户所使用的 Oracle 数据库产品可以方便地进行跨平台移植。Oracle 支持大型及超大型数 据 库 , 理 论 上 讲 , Oracle 所 支 持 的 数 据 库 最 大 容 量 限 制 为 512PB(1PB=1024TB),实际应用中受到硬盘存储容量的限制。

  2.开放性。

  Oracle 遵守数据库语言、操作系统、用户接口和网络通信协议的工业标准。Oracle 数据库管理系统产品与 ANSI/ISO SQL 标准完全兼容,因此它是一种开放性系统,允许不同类型的计算机和操作系统通过网络共享信息,不会产生产品依赖方面的问题,可以很好地保护用户的投资。

  3.强大的数据库保护功能。

  Oracle 提供了强大的安全性控制机制和完整性控制机制,这些机制是通过直接嵌入 Oracle 系统内核的方式实现的。

  4.支持分布式数据库。

  Oracle 允许在互联网环境下,将分布在多台计算机上的数据库组合成一个逻辑上的数据库,网络上任何一台计算机都可以对其进行访问。此外,从 Oracle 9i 版本开始,Oracle 已支持网格计算技术。网格计算的优点是低成本、高性能、动态配置、可扩展,其核心是资源(处理能力)的共享[20]。

  网格计算技术的引入,解决了传统数据库应用中的高性能、高可伸缩性与低价格需求之间的矛盾。Oracle 10g 是第一个专门设计用于网格计算的数据库,增加支持 XQuery、自动诊断、优化查询和数据加密等方面的管理功能和自动化工具。Oracle 在 Java 开发中应用最广泛,在编程语言中使用 Oracle 数据库,一般遵循加载驱动、建立连接、发送命令、返回处理结果、关闭连接等操作步骤。

  2.4 MVC 设计模式。

  2.4.1 MVC 设计模式的层次及工作原理。

  MVC(Model-View-Controller,模型-视图-控制器)是 80 年代施乐帕克研究中心为编程语言 Smalltalk-80 发明的一种软件设计模式,是软件设计典范,目前已被广泛使用[21]。MVC 模式用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里,实现动态地程序设计,简化了后续对程序的修改和扩展工作,并且使重复利用某部分程序成为可能。同时,通过简化复杂度,程序结构变得更为直观[22]。MVC 强制性地把应用程序的输入、处理、输出流程按照 Model、View、Controller 的方式进行分离,把一个应用分为模型层、视图层和控制层[23]。

  1.模型。

  模型表示应用程序核心(比如数据库记录列表),是应用程序中用于处理应用程序数据逻辑的部分。模型对象通常负责在数据库中存取数据,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计是 MVC 的核心内容。业务模型还有一个重要的模型是数据模型,主要是实体对对象的数据保存[24]。

  2.视图。

  视图代表用户交互界面,是应用程序中处理数据显示的部分。视图通常是依据模型数据创建的。MVC 能为应用程序处理很多不同的视图,但对视图来讲,它只是作为一种输出数据并允许用户操纵的方式,对视图的处理仅限于采集、处理视图上的数据和用户的请求,不包括在视图上的业务流程的处理[25]。

  3.控制器。

  控制器是应用程序中处理用户交互的部分,是视图与模型之间的纽带,负责从视图读取数据,接受用户输入,并向模型发送数据,将模型和视图匹配在一起,共同完成用户的需求。控制器本身不输出任何东西和做任何处理。模型与数据格式无关,一个模型能为多个视图提供数据,可以对应多个视图,一个视图也可以对应多个模型[26]。

  模型、视图、控制器三者之间的关系和各自的主要功能如图 2.4 所示。

  MVC 具体的工作原理如图 2.5 所示。

  

  2.4.2 MVC 设计模式的优点。

  MVC 设计模式主要有以下优点:

  (1)在模型运行时,可以建立和使用多个视图。一旦模型的数据发生变化,变化-传播机制可以确保所有相关的视图及时更新,从而使所有关联的视图和控制器行为同步[27]。

  (2)视图和控制器的可接插性允许更换视图和控制器对象,而且可以根据需求动态地打开或关闭,甚至在运行期间进行对象替换[28]。

  (3)因为模型独立于视图,所以只需在新平台上对视图和控制器进行修改,就可以把模型独立地移植到新的平台工作。

  (4)基于此模型可以建立应用程序框架。

  (5)MVC 三个模块层相分离,易于维护和修改 web 应用。

  2.5 本章小结。

  本章主要介绍了与系统相关的概念和技术。首先通过审计项目管理的业务流程图,对审计项目计划准备、项目实施、项目终结三个阶段的主要工作和管理环节给出了更为直观、清晰的说明。接着介绍了软件工程的概念、Oracle 数据库管理系统的特点、MVC 设计模式的工作原理和优点等内容。

 

返回本篇论文导航
相关内容推荐
相关标签:
返回:软件工程硕士论文