当前位置:文档之家› 体检排队系统制作的经验和教训

体检排队系统制作的经验和教训

体检排队系统制作的经验和教训[摘要] 体检排队系统的开发经历了一个完整的软件生命周期。

在软件定义、软件开发和软件维护3个阶段,出现了很多问题,如体检的预约、修改、删除;体检排队与分组的冲突;软件的可操作性、维护的稳定性等。

经反复测试与试用后,最终完成了软件的各个模块,实现了软件的功能,为体检排队软件的制作积累了丰富的经验和教训,给软件的进一步完善提供了有利条件,极大的提高了医院各方面的效率,也减少了体检人员的等待时间。

[关键词] 体检排队;软件生命周期;软件定义;软件开发;软件维护[中图分类号] r195.1 [文献标识码] b [文章编号] 2095-0616(2013)13-157-03experience and lessons of physical examination queuing system productionhe yaqing1 xie yinglang1 song qin2 wu ye2 qiu xiong1 jiang yi11. health check centre, ya’an city people’s hospital,ya’an 625000, china;2.department of computer, engineering and technology college, sichuan agricultural university,ya’an 625014, china[abstract] the development of physical examination queuing system had gone through a complete software life cycle. inthree stages, including software definition, software development and software maintenance, there were a lot of problems, such as physical examination appointment, modify,delete; conflict between medical queue and packet; software operability, maintenance stability. after repeated testing and trial, finally each module of software was completed and the function of software was realized. a wealth of experience and lessons had been accumulated for examination queuing software production. further improved software will provide favorable conditions, greatly improve the efficiency of various aspects of hospitals and reduce the waiting time of medical personnel.[key words] medical queue; software life cycle; software definition; software development; software maintenance 体检排队系统的设计、开发和维护是一个复杂的问题,它经历完整的软件生命周期。

期间,我们遇到了很多的问题,解决了很多的困难,也积累丰富的经验和教训。

软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步分成若干阶段。

软件定义时期通常进一步划分为3个阶段,即问题定义、可行性研究和需求分析。

开发时期具体设计和实现在前一个时期定义的软件,它通常由下述4个阶段组成:总体设计,详细设计,编码和单元测试,综合测试。

维护时期的主要任务是使软件持久地满足用户的需要,通常对维护时期不再进一步划分阶段,但是每一次维护活动的本质上都是一次压缩和简化了定义和开发过程[1]。

1 软件定义时期1.1 问题定义现有的问题定义方法一般可以分为形式化和非形式化定义两种[2]。

问题定义是问题求解的逻辑起点,也是后续环节的行为参考依据。

因此,有针对性地对问题定义环节所涉及的理论基础和技术手段进行分析和研究,具有很强的理论价值和应用前景[3]。

问题定义,其主要任务是对复杂问题本身进行仔细研究,并用复杂问题定义模型从不同的侧面描述问题。

具体执行时,要按照由表及里、由现象到本质的原则,循序渐进地分析复杂问题的内在逻辑[3]。

问题定义阶段必须回答的关键问题是:“要解决的问题是什么?”如果不知道问题是什么就试图解决这个问题,显然是盲目的,只会白白浪费时间和金钱,最终得出的结果很可能是毫无意义的。

体检排队系统在一开始就确定了软件的功能,为系统树立了明确的方向,指导着软件的各项工作,系统由体检预约、体检排队、体检预约管理等功能组成,这些功能又由一些子功能组成。

在第一步就回答了系统要解决的问题是体检预约和体检排队。

1.2 可行性定义可行性定义要回答的关键问题是:“对于上一个阶段所定义的问题有行得通的解决办法吗?”体检排队系统确立了软件的功能后,遇到的最大的问题就是这些功能能实现吗?怎么实现这些功能?首先体检预约功能怎么预约?预约需要哪些要素?体检排队功能,怎么进行分组,怎么进行体检排队?体检预约管理,怎么进行预约的增加、删除修改?怎么查看预约?这些问题提醒我们:体检排队系统能不能实现?能不能最终完成各个功能?为了解决这些问题,我们查阅了很多的文献,做了许多尝试,也犯了许多错误。

最终我们确定了可以通过体检单位、体检人数及体检时间实现体检预约;通过体检人数、体检分组和体检排队可以实现体检的自动排队,通过体检预约修改、体检预约删除和体检预约查看可以实现体检预约的管理。

1.3 需求分析软件需求分析(software requirement analysis)是指研究用户需求得到的东西,完全理解用户对软件需求的完整功能,确认用户软件功能需求,建立可确认的、可验证的一个基本依据[4]。

在软件工程中,软件需求分析是软件定义时期的最后一个阶段,它是软件生存期中极其重要的一步,需求分析的结果是整个软件系统开发的基础.关系到工程的成败和软件产品的质量,是软件成败的决定因素之一[5]。

这个阶段的任务仍然不是具体地解决问题,而是准确地确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具有哪些功能。

就要求我们明确客户的需求。

课题组软件制作者与体检中心人员进行了多次交流和沟通,明确了他们需要什么。

经过讨论,确定目标系统必须要实现的自动排队功能,而要实现这个功能必须要进行体检预约。

经过需求分析,进一步明确了体检排队系统的功能。

1.4 总体设计这个阶段必须回答的问题是:“概括的说,应该怎样实现目标系统?”总体设计又称为概要设计。

需求分析和概要设计是两个极其重要的阶段。

需求分析,完成的是找到软件“做什么”的问题.概要设计要完成的是整体项目“怎么做”的问题。

需求分析是概要设计的依据。

而概要设计则是需求分析自然的逻辑延续。

从需求分析走向概要设计,就是从待解决问题的领域走向解决方案的领域.也就是从客观的现实世界走向主观的计算机待建系统世界的过程。

概要设计阶段我们要明确该阶段的基本任务。

清楚设计的基本过程,这样才能得到高质量的设计制品[6]。

首先,课题组设计出了体检排队系统低成本、中成本和高成本的3种方案。

在与雅安市人民医院体检中心进行讨论后,综合时间因素和金钱因素,确定采用中成本方案进行设计、开发和维护。

确定方案后,我们进行了详细的计划,通过什么开发平台、什么语言、什么数据库进行设计开发和维护。

设计程序是什么体系结构?程序由哪些模块组成以及模块间的关系,我们都进行了磋商和详细设计,最终确定一套较完美的解决方案。

1.5 详细设计详细设计阶段的任务就是要把解法具体化,也就是回答下面这个关键的问题:“应该怎样具体地实现这个系统呢?”这个阶段的任务非常的繁重,体检排队系统包括许多的模块,我们要确定的是设计出程序的详细规格说明,包括系统蓝图,以及必要的细节,方便我们下一步进行实际的程序编码,也就是我们需要设计模块的每个模块,确定实现模块功能的算法和数据结构。

体检排队系统在windows 7开发环境下,采用c++开发语言、其开发工具主要包括visual studio 2010开发平台、microsoft access 2010数据库软件、photoshop cs5图形合成软件等。

体检排队系统通过体检预约、体检排队、预约管理进行信息化管理和自动化管理。

此系统以动态规划算法、不完全数独算法、排队论、体检分组原理、以及时间唯一理论作为理论基础,进行设计、开发和维护。

为了更准确的理解和分析体检排队问题,并实现体检排队问题,我们可以建立数学模型。

当体检人数较多时,需要排队进行体检,数学模型的建立,有助于解决多人多服务台体检时的排队情况。

体检分组模型和体检排队模型的建立,指导着系统的设计、开发和维护。

体检排队系统具有极强的应用价值,其体检预约和体检预约管理实现了体检的信息化管理,其体检排队改变了以往经验分配排队以及叫号排队的模式,实现了体检人员的自动化管理。

极大的提高了医院各方面的效率,也减少了体检人员的等待时间。

2 软件开发时期2.1 编码和单元测试除了设计错误外,编码是唯一引入软件缺陷的地方。

编码阶段的质量保证正是为了减少编写代码过程中引入的软件缺陷。

如果等到功能测试或者系统测试来捕获并修复缺陷,那么软件开发成本就会高得多[7]。

一般认为单元测试应紧接在编码之后,当源程序编制完成并通过复审和编译检查,便可开始单元测试,进行动态的单元测试前先要对程序进行静态分析和代码审查,这样会发现一些代码的逻辑表达错误,且一旦发现错误,就会同时对错误的性质和其位置定位,从而降低调试的代价[8]。

这个阶段额关键任务是写出正确的容易维护的程序模块。

体检排队系统在写代码阶段遇到了很多的问题,如:函数的一个变量问题,引发了整个系统的错误,“=”和“= =”的误写导致程序出现致命错误,类的定义出错,引导程序向错误方向发展等等。

经过几个月的艰苦努力,我们解决了上述问题,终于完成了程序的各个模块,实现了程序的各个功能。

当然在细节的处理问题上,还有些做的不当的地方,尚需我们仔细的测试和进一步完善。

相关主题