软件设计与开发数字技术与应用1251、引言现代的软件产业对软件的开发质量和进度提出了越来越高的要求,就现在来说,应用软件的巨大需求与薄弱的软件开发管理之间的矛盾依然是软件开发产业的巨大问题,如何有效地组织软件开发队伍并应用恰当的软件开发策略和管理方法成为解决当前软件危机问题的突出焦点。2、软件工程思想2.1软件工程概念软件工程是应用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法,开发软件的工程。目前比较认可的一种定义是:软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。2.2软件工程研究的内容软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。软件开发方法的内容涵盖了市场调研、需求分析、概要设计、详细设计、程序的编写、测试和质量控制的全过程。主流的面向过程的方法、面向对象的方法、面向数据的方法、形式化的方法,各适用于不同的场合,各有优缺,构成多元化的开发方法论。软件开发模型指软件开发全部过程、活动和任务的结构框架。目前常用的开发模型有瀑布模型、迭代模型、增量模型和原型模型等。软件支持过程主要由支持软件生命周期各个阶段的的生产工具组成,如需求分析工具、设计工具、实现工具、测试工具、维护工具、配置工具、开发环境等。常用的CASE工具如PowerDesigner、RationalRose。软件管理过程是制定软件开发、运作与维护相关的过程活动以及对过程活动进行监管,目前比较成熟的软件管理过程主要有CMM、ISO9000、微软企业文化和敏捷文化现象。2.3软件工程的基本原则软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则,主要有以下四项:选取适宜的开发模型、采用合适的设计方法、提供高质量的工程支持、重视开发过程的管理。3、系统设计与开发过程以高校教务网络管理系统为例,系统采用面向对象的软件开发方法,应用UML建立系统模型,软件开发模型应用增量模型中的增量构造模型,将软件生命周期划分为制定计划、需求分析、系统设计、程序编写、软件测试和运行维护等六个基本活动,在需求分析阶段和软件设计阶段应用瀑布模型进行整体开发,后面的阶段以教学计划的设置为先,按照增量构造模型进行开发,如图1所示。需求分析设计编码1测试n编码n编码2测试2测试1图1增量构造模型3.1制定计划项目管理以建立合理的项目开发计划为基础,在教务网络管理系统的开发中,可采用开发计划评审技术PERT(ProgramEvalu-ationandReviewTechnique)制定计划,与传统的项目管理方法甘特图相比,PERT网络能够直观地反映工序之间的关系和影响计划进度的关键因素,通过各个开发阶段的时间点,得到系统开发计划进度的关键路径,并且能够在工序进度发生变化时,反映出对整个工程的影响,从而进行灵活的调整,实现动态的计划管理。3.2需求分析3.2.1用户需求教务管理工作是高校管理的核心和基础。一个典型的高校教务网络管理系统,应能提供院系设置、教学计划管理、网上选课管理、学生成绩管理等多种功能。在该系统中,主要存在以下角色:系统管理员、各系教学秘书、学籍管理员、成绩管理员、教材管理员、教师、学生等。通过对各类终端用户进行调研,列出系统用户需求中比较关键的部分。(1)系统可以对学校的各类教学资源情况进行设置、管理。(2)系统可以准确地设置各年级、各专业的教学计划。(3)为学生提供网上选课平台,依据选课情况设置授课计划。(4)系统可以对学生学籍、成绩进行管理。(5)系统可以提供强大的数据统计、查询、报表生成及打印的功基于软件工程的系统设计与开发嵇春梅(盐城纺织职业技术学院江苏盐城224001)摘要:软件工程是一门学科,也是一个知识体系,它为计算机软件的开发引入了工程化的原则和方法,以工程的形式应用计算机科学和数学及管理学的原理,从而经济有效地解决软件问题。本文阐述了软件工程的基本思想和原则,并以高校教务网络管理系统的开发为例,研究了以软件工程理论为指导,结合面向对象设计方法的系统设计与开发过程。关键词:软件工程面向对象技术教务网络管理系统系统设计系统模型中图分类号:TP311文献标识码:A文章编号:1007-9416(2011)10-0125-02数据表现层管理控制与数据处理部分运用SybasePowerBuilder集成开发环境,数据采集与发布部分(门户)运用studio.net与Eclips集成开发环境。业务逻辑层Web服务器采用MicrosoftIIS,应用服务器采用MicrosoftTransactionServer。数据存储层数据库管理系统采用MicrosoftSQLSERVER表1系统技术实现GUI应用逻辑数据库或其它资源客户端应用服务器数据库服务器图2三层Client/Server模式的典型结构软件设计与开发数字技术与应用126能。(6)系统客户端运行在Windows各版本的平台下,高效稳定、操作简便。(7)系统应该有很好的安全性、可靠性、扩展性。3.2.2目标系统描述目标系统描述过程需分析系统的组织结构,绘制系统的组织结构图;分析用户角色的权限职能、系统业务流程,使用UML用况图由大到小,由粗到细进行建模。3.2.3功能需求分析高校教务网络管理系统所必需的功能主要有教学计划管理、教学资源管理、网上选课管理、课表编排管理、学生学籍管理、学生成绩管理、考试事务管理、实践教学管理、教学考评、教材管理、系统管理。除此以外,系统还应包括信息管理系统必须具备的通用功能,如权限设置、数据备份与恢复等功能。3.2.4其他用户需求在上述需求分析之外还应考虑用户在系统性能等方面的需求,如系统响应时间的要求,输入输出格式的要求、系统安全性、可靠性的要求、故障处理要求、维护要求、培训要求等。3.3系统概要设计系统概要设计注重于宏观上和框架上的设计。3.3.1软件体系架构设计软件体系架构是在高层次上定义软件的组织,教务网络管理系统是构建高校数字校园应用支撑系统的核心。基于新的教学管理模式的需求,结合校园网建设的具体情况,给出系统整体架构的定位:使用专用客户端实现管理控制与数据处理,使用浏览器通过门户完成数据采集与信息发布。管理控制与数据处理部分主要面向教学管理部门使用,用于实现各类系统设置、数据处理、统计等功能。这部分功能强大,数据处理复杂,采用三层Client/Server模式,在客户机和服务器之间引入应用层的概念,将应用逻辑移到应用层实现,这样就形成了包括客户端用户界面层、中间应用逻辑层和后端数据库服务器层的三层模式,如图2所示。数据采集与信息发布部分主要功能是实现各类数据的查询和部分数据的收集、报送,如学生查询选课结果、考试成绩,教师网上报送成绩等,这部分功能相对单一,复杂的数据处理较少。主要采取B/S/DBMS结构,它是基于Internet/Intranet的结构模型,即前端采用浏览器,中间为Web服务器,后端为数据库服务器。3.3.2功能结构高校教务网络管理系统系统分为管理控制与数据处理、数据采集与信息发布两部分进行设计。管理控制与数据处理部分的功能结构对应于系统基本功能进行划分;数据采集与信息发布主要包括门户维护子系统、学生服务子系统、教辅人员服务子系统、管理人员服务子系统。3.3.3逻辑结构高校教务网络管理系统采用基于数据库系统的三层结构,包括数据表现层、业务逻辑层、和数据存储层。数据表现层设计包括窗体、报表、页面、文件等组件;业务逻辑层不仅负责业务逻辑,而且直接访问数据库,提供对业务数据的保存、更新、删除和查询操作。数据存储层起到容器的作用,向业务逻辑层提供服务,包括应用数据库、版本控制数据库、备份数据库及数据接口。3.3.4开发和运行环境设计管理控制与数据处理部分为教务处或二级管理单位服务,采用.NET技术架构,C#设计;数据采集与信息发布部分为学生、教师服务。采用.NET技术架构,C#、WEB开发语言,.NET集成开发环境设计并实现。支持常用浏览器InternetExplorer5.0及以上版本。系统开发和运行环境如表1所示。3.3.5概念数据模型CDM设计概念数据模型CDM设计是开发工程中的一个重要阶段,此阶段以系统需求分析中所建的UML用况图为基础,将现实世界中需要保存的信息抽象成信息世界中的实体与联系,建立相对应的UML对象类图。3.3.6物理数据模型PDM设计数据库PDM模型的最后建立可以从类图按照对象/关系映射机制实现,也可以从CDM直接生成。按照对象到关系映射的一对一关系的标准法则,将对象模型转换为关系模型,一个对象类映射为一个关系。3.4系统详细设计概要设计完成以后即进入详细设计阶段,详细设计是将概要设计的框架具体化、细致化,并提供各模块功能的控制结构处理与程序流程实现方法和实现过程,包括模块公用部件、专用部件、存储过程、外部接口、触发器等细节。3.5编程实现正确、高效、经济的软件系统是软件工程的目标,但从代码编写的机械性来看,编程工作在软件工程项目中虽然重要但并不复杂,程序编写的过程中更重要的是编程思想、编程风格、编程方法的选择以及各模块之间的接口和联系、各模块之间的进度协调。3.6系统测试系统测试包括硬件测试、软件测试与网络测试,规范化的测试过程应包括制定测试计划、编制测试大纲、设计测试方案、实施测试、生成测试报告,测试过程由专人负责执行,测试用例不应局限于实验数据,测试应在现实环境中进行。《TheArtOfSoftWareTesting》中提到一个经验:在一个典型的编程项目中,系统测试需占用大约50%的时间和超过50%的总成本。系统测试之后的人员培训、系统运行之后的软件维护等工作也不容忽视,维护阶段是软件生命周期中时间最长、花费的精力和费用最多的一个阶段。4、结语软件的开发应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。自从1968年提出“软件工程”这一概念以来,不断规范的软件开发过程和优化的软件管理过程提高了软件开发人员的个人素质及软件企业的集体素质,但在大规模、需求不清晰、变化快的软件系统开发方面,软件危机的问题仍然存在。本文内容的阐述侧重于通过系统设计与开发过程的优化提高项目完成质量,上述网络教学管理系统应用于我院教学管理工作,具有较高的安全性和稳定性。参考文献[1]赵池龙,姜义平,张建.软件工程实践教程[M].北京电子工业出版社,2007.1.[2]罗海丽.不同软件工程方法在软件开发实践中的比较[J].科技资讯,2010(07).[3]胡飞,武君胜,杜承烈,等.软件工程基础[M].北京:高等教育出版社,2008.1.[4]魏远旺.基于面向对象的软件复用技术的研究和应用[D].南昌大学,2005.[5]张海藩.软件工程导论[M].北京:清华大学出版社,2008.3.基金项目江苏省高等教育教学改革研究课题(2011JSJG429)作者简介嵇春梅,女,硕士,讲师研究方向:计算机和网络技术在教学、考试系统中的应用