软件开发平台与工具报告

软件开发平台与工具报告

学校:郑州大学专业:软件工程学号:

姓名:马虎群

20097610439

-软件平台的发展历史 回眸软件开发语言及开发工具历史

自从有了计算机,软件的开发一直成为一个永恒的话题。

一开始,人们用机器码来直接构建程序,但是机器码的可记忆性实在是不好。后来想到用可记忆的字符串来代表机器码,于是汇编语言出现了。但是汇编语言近乎机器码的编程方式,使它同用机器码来构建程序没有本质上的区别和进步。汇编语言写的程序可维护性和开发效率受到很大制约。

让我们来回顾一下程序开发语言和基于这些语言的开发工具的历史。

1950 之前 原始的程序设计语言。 1955 FORTRAN语言诞生,用作数学运算。 1959 McCarthy发明LISP语言。 1960 COBOL语言出现。

1964 Kemeny和Kurtz发明BASIC语言。 1971 Wirth教授发明Pascal语言,主要用于教育。 1972 丹尼斯.里奇奠定C语言。

1983 Bjarne Stroustrup创造C++语言,流行至

今。

1983 大师Hejlsberg开发出RAD工具Turbo Pascal。

1985 Borland推出Paradox。

1986 ANSI SQL 版布。

1987 Larry Wall发明Perl。

1988 John Ousterhout发明Tcl脚本语言。 1989 Borland推出面向对象的Turbo Pascal。 1991 Guido.van.Rossum创造Python语言。 1995 Borland推出Delphi。

1995 Sun微系统公司推出Java。

1997 PHP出现,至今广泛用在Web应用的开发上。

2000 微软推出C#语言。

2001 Borland推出Linux平台开发工具KYLIX。 具有革命意义的是高级语言和基于高级语言的开发工具的诞生,它们把软件构建的易理解性和开发效率提升到了前所未有的高度,其带来的生产力是显而易见的。新技术和新开发工具的推出和不断发展,使软件开发大大地简化。

但是用这些程序设计语言或开发工具构建软件无一例外需要做大量的开发工作,比如我们开发一个人力资源管理系统,我们需要写大量的代码。用这些开发工具构建的

系统的发布、维护,扩展,升级等等也相当麻烦。

我们试想一下人力资源管理系统的构建是否可以如下:我们告诉它数据源,该怎么处理,然后怎样呈现。总之只要把一个系统的构建描述清楚就行,而不用过多的设计实现细节。然后这个系统不管在常规模式还是在Web上都可运行。

新一代应用系统开发平台应该是这样的,而且是智能的。开发一个人力资源管理系统,我们只要告诉这个平台数据的输入是什么、输出是什么,数据又是如何处理的。如果有些个性化的需要,比如界面风格等等,完全可以采用模板来套用。

DataStudio正是这样一款软件。DataStudio是Syberview公司推出的一款面向企业级的数据库应用系统快速构建和部署平台。用DataStudio可以快速构建企业级MIS,ERP,CRM,HR和各种行业软件并自动生成基于Web的应用。DataStudio支持业界所有类型的数据库系统,并在Web应用的快速构建部署、前端展现、报表、图表、分析挖掘、监视、服务、数据库表及内容的编辑维护和导入导出、计划任务等方面有很强大的支持。DataStudio不同与一般的软件开发工具,具有强大的生产力,能用最简单的方法开发出复杂而功能强大的应用,非常适合在各行各业中使用。 1、软件开发平台的演变

从编程之初,便免不了和方法,类,接口之类的东西打交道。久而久之,自然会对此进行总结,由此而产生了开发平台。而今中国的程序员之中,有很大一部分都是编一些企业MIS、政府MIS之类的程序。其主要工作就是对数据进行一下增删改查的操作,对MIS系统做一些基础的管理而已。软件开发平台有两种平台模式:一种是传统的C/S架构模式,一种是现在流行的B/S架构模式。B/S架构模式是随着互联网的流行,自然又要求以互联网为基础,把这些都网络化,以实现网络资源共享,而不是传统的单机模式。这便激发了软件开发者的创造力,形成了软件开发平台的B/S架构模式

(web开发平台)。对于web开发平台,我的个人理解是:

1.以web2.0为基础,基于互联网的B/S架构的软件。它本身也是一个软件,只不过不是最终的软件产品,而是用于二次开发的软件。 2.用于实现各类业务系统,如CRM、MIS、ERP、HIS、OA等等的开发。web开发平台本身就是一个二次开发平台,他不同于诸如eclipse等这样的开发工具,需要写大量的代码来完成各个业务模块,二次开发平台只需要设计好自己的数据结构,进行一些简单的配置、拖拉等操作就可以完成业务系统的开发。 3.能够快速的实现各种报表包括复杂的图表报表的设计制作,传统的编码式开发需要自己去编写想要的各种报表,而运用开发平台就简单多了,可以很轻松的配置出各种报表。 使用web开发平台的目

的是为了实现资源共享、节约开发成本、提高开发效率、缩短开发周期。而如今的开发平台大都采用非编码的方式或者是极少编码的方式,这样正好达到了目的。有的甚至可以减少80%的代码量,可见效率会提高多少。

二 以UML为基础讲述软件平台在现实中的作用

1在需求分析中的作用

UML概述

统一建模语言 (UML)是非专利的第三代建模和规约语言。 UML是在开发阶段,说明,可视化,构建和书写一个面向对象软件密集系统的制品的开放方法。UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。UML可以贯穿软件开发周期中的每一个阶段。被OMG采纳作为业界的标准。UML最适于数据建模,业务建模,对象建模,组件建模。UML作为一种模型语言,它使开发人员专注于建立产品的模型和结构,而不是选用什么程序语言和算法实现。当模型建立之后,模型可以被UML工具转化成指定的程序语言代码。IBM的RatiONal Rose和MS的Visio都是UML工具。

面向对象技术和UML的发展过程可用图形来表示,标准建模语言的出现是其重要成果。在美国,截止19xx年10

月,UML获得了工业界、科技界和应用界的广泛支持,已有700多个公司表示支持采用UML作为建模语言。19xx年底,UML已稳占面向对象技术市场的85%,成为可视化建模语言事实上的工业标准。19xx年11月17日,OMG采纳UML 1.1作为基于面向对象技术的标准建模语言。UML代表了面向对象方法的软件开发技术的发展方向,具有巨大的市场前景,也具有重大的经济价值和国防价值。UML是一个标准的图形表示法,它不是面向对象的分析和设计,也不是一种方法,它仅仅是一组符号而已。

3 基于UML的信息系统需求分析模型

针对上述常用需求分析方法存在的不足,UML作为一种强大的图形化建模语言,是理想的需求描述和建模分析工具,它对信息系统的大规模、复杂、不断变化的用户需求有很强的控制力,为解决人员交流和通信障碍提供了有力的工具[8].

基于UML的信息系统需求分析模型,不从用例开始进行需求分析,而从业务流程分析开始,从静态和动态两个方面对系统的需求建模,该模型如图1所示。

软件开发平台与工具报告

(1)相关人员培训:该模型涉

及三类人员:领域专家、用户代表、需求分析员。通常情况下,领域专家和用户代表缺少计算机方面的知识,不精通需求分析及建模技术;需求分析员又缺少用户的业务知识,不熟悉其业务流程,因此,在需求分析前,对领域专家和用户代表进行UML知识的培训,使其了解各种视图的含义;对需求分析员进行业务知识的培训,使其对该领域中的一些基本知识和常用术语等有所了解[9].

(2)初始需求的捕获:通过调研和建立联合分析小组等方式,了解用户的业务流程,进而获取用户对系统的最初需求,并用UML活动图对以用户业务流程为核心的初始用户需求进行描述[10].

(3)用例模型的创建:分析步骤(2)所得活动图中每个活动的参与者,找出该活动中与之相对应的动作,二者形成一个用例。通过确定系统边界和分析活动的转移,删除多余的用例,合并相同的用例,填补遗漏的用例;采用活动图的泳道技术对用例进行集成,形成一个完整的用例模型。

(4)动态模型、静态模型的创建:分析步骤(2)所得活动图中每个活动所涉及到的对象及对象之间的关系,根据活动的改变而引起对象状态的变化和对象的交互,创建相应的对象图、状态图和交互图(顺序图、协作图);应用顺序图对步骤(2)所得活动图中的每个活动进行分析,发掘新的需求,完善描述初始用户需求的活动图;通过顺序图对步骤(3)所得用例模型中的每个用例进行处理,创建相应的类图。

4 基于UML的信息系统需求分析模型的应用

基于UML的信息系统需求分析模型对MIS系统的开发具有较好的适应性,结合具体实践,本节以运动会信息管理系统的开发为例,说明该模型在MIS系统开发中的应用[11].

(1)捕获初始需求:通过大量调研,给出该系统的初始需求描述:运动会信息管理系统要实现运动员报名、各类人数统计、竞赛日程设定、初秩序册生成、检录和成绩处理、新秩序册生成、团体分统计、破纪录人数统计等功能。该系统的活动图模型如图2所示。

软件开发平台与工具报告

(2)创建用例模型:通过对图2中每个活动的参与者的分析,所获得运动会信息管理系统的完整用例模型如图3所示。

软件开发平台与工具报告

3)创建动态模型、静态模型:通过对图2中"比赛成绩处理"活动所涉及到的对象、对象之间的关系分析,获取的比赛成绩处理顺序图如图4所示,其他活动顺序图的获取与此类似。

软件开发平台与工具报告

基于UML的需求分析模型以简单的图形建模语言UML为基础,为人员交流提供了统一的平台,消除了语言理解分歧;该模型涵盖了领域知识学习、建模方法培训、系统需求分析构造等环节,并从实施的角度考虑了角色构成及其职责分配,使各类人员能够更好地交流与合作,为得到完善的需求分析打下了坚实的基础。通过MIS的开发实践表明,该模型不但能缩短软件开发的周期,而且减少了软件开发的风险,有效提高了开发软件的质量。

2在软件设计中的作用

UML是在开发阶段,说明,可视化,构建和书写一个面向对象软件密集系统的制品的开放方法。最佳的应用是工程实

践,对大规模,复杂系统进行建模方面,特别是在软件架构层次,已经被验证有效。

活动图 一、UML活动图:

◆流程图常被用来建立算法模型

◆UML活动图与流程图类似,不同在于它支持并行活动. ◆缺点:不能清楚的表示

二、作用:

1、描述一个操作的执行过程中所完成的工作或者动作

2、描述对象内部的工作

3、描述用例的执行

4、处理多线程

5、显示如何执行一组相关的动作,以及这些动作如何影响周围对象

软件开发平台与工具报告

图1.第一次入学的UML活动图

类图

类图一般在详细设计过程中出现,主要用来描述系统中各个模块中类之间的关系,包括类或者类与接口的继承关系,类之间的依赖、聚合等关系。

它还描述每一个类的详细信息,包括变量,和方法。

通过类图,就能实际的把系统中的各个类,即对象描述清楚,下一步就是按照这个详细的设计编码了。

软件开发平台与工具报告

如果,你把软件当作房子,那么类图就是最后的施工图了。

这是

一个选课系统的简单领域分析UML类图。可以看到,主要实体有教师、学生、课程和开课安排。每个实体标注了其在业务上具有的属性和方法。而且图中还标明了实体间的关系。 顺序图

和合作图、活动图一样,UML顺序图( Rumbaugh、Jacobson、和booch, 1999)是一种动态建模方法。 UML顺序图一般用于:确认和丰富一个使用情境的逻辑。一个使用情境就是系统潜在的使用方式的描述,也就是它的名称所要描述的。一个使用情境的逻辑可能是一个用例的一部分,或是一条备选线路;一个贯穿单个用例的完整流程,例如动作基本过程的

逻辑描述,或是动作的基本过程的一部分再加上一个或多个

软件开发平台与工具报告

的备用情境的逻辑描述。或是包含在几个用例中的流程,

此图为在线定单付款

协作图

协作图是在一种给定语境中描述协作中各个对象间的组织交互关系的空间组织结构的图形化方式,从定义中可以分析它的作用为:对象间消息的传递来反映具体的使用语境的逻辑表达,一个使用情境的逻辑可能是一个用例的一部分或是一条控制流;它的交互关联显示对象交互的空间组织结构,显示一种对象间的关系,而不注重顺序;表现一个类的操作实现,协作图中可以说明类操作中使用的参数,变量,返回值。当表现一个系统的行为时,消息编号对应了程序中嵌套调用的结构和信号传递过程。

序列图常用来表示方案,协作图用于过程的详细设计。

软件开发平台与工具报告

三在软件项目布置中的作用.

用来建模系统的物理部署。例如计算机和设备,以及它们之间是如何连接的。部署图的使用者是开发人员、系统集成人员和测试人员。

部署图项目示例(Deployment Diagram Example

软件开发平台与工具报告

分析:

1、Web Server服务器

一台Web服务器预装4个操作系统及其之上的4个IIS,由于客户访问量大,3个用来部署B2C Web, 1个用来部署B2BB2E Web.

2、Web访问量分流设备

根据网站流量,自动定位客户访问流量小的服务器。

3、FTP Server And Session Server服务器

网站所有的图片都统一上传到FTP服务器上,同时B2CWeb下的Session统一转移到此服务器上。

4、DB Server服务器

数据库服务器

5、App Server服务器

定时执行排程(控制台程序)的服务器,用于與倉庫系統交互。

6、FrieWall防火墙

所有对服务器的操作通过防火墙过滤。

7、User Client

用户个人PC,预装有浏览器。

3. 总结

软件开发平台是一种软件开发工具,以通用技术架构为基础,集成常用建模 工具、二次开发包、基础解决方案等而成。软件开发工具是很方便地把一种编程 语言代码化并编译执行的工具。现在的软件开发工具逐渐显出智能化、网络化、 一体化、标准化的趋势。对于很多企业来说,软件开发平台只被定义为信息化工 具,但成功进行过企业信息化建设的 CIO 们会对软件开发平台有着更为正确的 理解,那就是软件开发平台不仅是信息化工具,更是管理思想的沉淀。

随着在企业中发挥出的作用被逐步肯定, 目前软件

开发平台在国内信息化领 域也占据着越来越重要的位置, 其应用已经成为一种趋势。 相对于传统开发模式, 许多软件开发平台具有很多显著优势,包括优化产品基础架构,提升软件开发质 量;减少编码率,提高开发效率,提升开发的灵活性;可以充分关注客户需求, 实现按需定制;实现

配置组件的标准化,提升产品稳定性和兼容性;提升企业开 发能力, 降低后期维护的时间和成本等, 可以使开发者有更多时间关注客户需求, 在项目的需求、设计、开发、测试、部署、维护等各个阶段均可提供强大的支持。 这些都使得,软件开发平台在企业眼中成为非常给力的信息化工具。

软件开发特别是大型软件是一项浩大的工程,需要几个人、十几个人、几十 个人甚至几百个人合作开发几个月、十几个月甚至几年。要保证系统的协调性、 统一性和连续性,就需要在开发之前制定严格、详细的开发规范。开发规范的制 定需要花费一定的时间和精力,但是"磨刀不误砍柴功",它相当于把今后开发过程 中开发人员都要遇到的问题提前做了一个考虑。有了开发规范,在后续的开发过 程中,设计人员就不必每次考虑如何为一个字段命名,编程人员也不必去想某个程 序的结构和布局应当 怎样,测试人员也有了判断程序对错的标准。开发规范在项 目开发工作中起着事前约定的作用,需要所有开发人员共同遵守。它约束开发人 员的行为和设计、编程风格,使不同子系统和模块的设计、编程人员达成默契,以 便形成整个系统的和谐步调和统一风格,也便于今后的系统维护和扩展工作。

通过这学期的学习,使我们对软件开发平台与工具有了更深入的了解。小组 分工式的作业给我们提供了很好的交

流学习氛围,让大家能够在交流中学习,在 学习中互相了解。但由于自己的水平和经验不足,还存在着一定的问题。还要继 续努力,争取获得更大成绩。

 

第二篇:软件开发平台与工具

软件开发平台与工具 --

姓 名:

学 号:

学 院:

专 业:

指导老师: 网页制作

一. 分工任务

在这次的网站制作中,我主要负责的有三个方面: 1网站数据库的编写 ○

2即将上映的电影页面的制作(即jijiangshangying.jsp以及new1.jsp页面) ○

3电影信息等方面的收集工作 ○

常言道,能力越大责任越大,鉴于我个人在编程这方面确实有所欠缺,所以只分了一个即将上映功能的制作,共两个页面,组长考虑实际情况,给我分的任务不是特别的难,很多都是一些基本的东西,也许这样得不了太高的分数,但我也要积极进取,所以制作了即将上映的页面,虽然做出来的不是特别的棒,但也让我有了一些提高。

二、完成过程

1、首先说一下关于数据库的编写

在刚开始的时候,因为对于数据库这方面有MySQL和SQLServer两种选择,但是经全体组员讨论后发现SQLServer在安装是很容易出问题,解决过于繁琐,于是集体决定在数据库这方面使用MySQL平台,第一安装简单,其次使用也比较简单,没有太多繁琐的操作。

在最初编写数据库的时候,很多东西都不是特别的明白,虽然说大二的时候有过一门范明老师讲的数据库原理,但这次做的时候才发现,学着是一回事,做起来真的又是另外一回事了,很多学的东西在实践中并不是特别的清晰,于是便请教一些学习好的同学,在他们的讲解和热心帮助下,完成了数据库的编写。

这个数据库比较简单,共包含有九个表,它们分别是:

电影信息(film),即将上映(jijiangshangying),精彩影评(jingcaiyingping),管理员信息(manager),电影订单信息(order1),评论(pinglun),购票信息(ticket),用户信息(user),正在热映(zhengzaireying)等九个表,如下:

在最初编写的时候,因为电影信息中包含一个很重要的栋西,那就是宣传海报,但是在数据库中如何存入图片,这让我感觉万分的头疼,因为高端学生告诉我要把图片转换成二进制,然后在存入数据库中,读出的时候再把二进制转换回来,我觉得这种方法过于繁琐,或许正规的网站上是这样整的,但是人家那是有专用的服务器,操作这些比较方便,而我们这么做却不是特别的适合,于是我想了一个办法,把图片存在本地,然后把图片的相对地址存在数据库中,这样就很好的解决了这个问题,虽然有些作弊的嫌疑,但是起码能更直接的解决问题。

2、即将上映电影的制作

其实这个页面的制作总体来说难度不是特别的大,因为只是把一些即将上映的电影信息录入到本页面,并在点击某一个电影的时候跳转到相关的电影信息介绍页面。

软件开发平台与工具

软件开发平台与工具

在代码方面,jsp页面的编写也是让我很是费心,原本我直接用netbeans直接编写的,但是发现在页面布局上很难看,于是我转用dreamweaver做,因为个人感觉dreamweaver在页面的布局上还是挺好用的,比较直接与简便。如图所示:

软件开发平台与工具

软件开发平台与工具

软件开发平台与工具

感觉这样做既方便又美观,dreamweaver果然强大,代码如下:

<tr>

<td width="406" height="319"><a

href="new1.jsp?id=<%=sqlrst.getString("filmName")%>" type="submit"></a><a href="new1.jsp?id=<%=sqlrst.getString("filmName")%>"

type="submit"><imgsrc="../../design1/web/upload/51.jpg" width="406"

height="432"></a></td>

<td height="219" colspan="2" align="center" valign="middle" ><div>

<h3><a href="new1.jsp?id=<%=sqlrst.getString("filmName")%>" type="submit" class="m"

pan="M11_TheaterMovieShowtimePage_MovieNmae"><%=sqlrst.getString("filmName")%></a></h3>

<div></div>

<div><a href="new1.jsp?id=<%=sqlrst.getString("filmName")%>" type="submit" class="g">影片介绍</a></div>

</div>

<p class="g"><%=sqlrst.getDate("date")%> 上映</p>

<p class="g"><%=sqlrst.getString("shichang")%>分钟 -

-<%=sqlrst.getString("type")%></p>

<p class="g">导演:<%=sqlrst.getString("director")%></p>

<p class="g">主演:<%=sqlrst.getString("actor")%></p>

<div>

<a href="new1.jsp?id=<%=sqlrst.getString("filmName")%>" type="submit" class="h">

<imgsrc="image/9.png" width="100" height="38" hspace="0" vspace="0" border="0" align="absmiddle" /></a></div></td>

<% }%>

</tr>

然后就是跳转页面:new1.jsp,页面如下所示:

从数据库中读取信息,点击不同的电影,可以从数据库中读取本电影的信息,页面虽然做的不是特别的漂亮,但是还是那样,简约直观大方。部分链接数据库导入代码如下:

软件开发平台与工具

软件开发平台与工具

<%

} catch (java.sql.SQLException e) { out.println(e.toString());

} finally {

if (sqlrst != null) {

try {

sqlrst.close();

out.println(e1.toString());

try {

if (sqlstmt != null) {

sqlstmt.close();

{

out.println(e2.toString());

try {

if (conn != null) {

conn.close();

(java.sql.SQLException e3) {

out.println(e3.toString());

} } }

}

}%> } } catch (java.sql.SQLException e2) } finally { } } catch } catch (java.sql.SQLException e1) { } finally {

3、电影信息收集

其实这部分任务从某种角度来说不算任务,因为它没有什么含金量,会百度的人都能胜任,但从另一个角度来看,同样的问题不同的人去查得到的结果却往往不一样,信息的收集主要看的就是一个心细,能从众多不同的信息中筛选出自己想要的内容,由于这方面我感觉还不错,于是便承担了这份工作。

这项任务信息量特别的大,往往坐在电脑前忙了一天而收集到的自己想要的信息却寥寥无几,但是终归这是一个小的任务,所以在此也不做过多的赘述。

三、个人心得

经历了这个学期的磨练,我感觉自己的开发工具掌握的还算凑合,但经过了这次的项目实践,让我突然明白了一个人人都明白却不能体会的道理,那就是: 实践是检验真理的唯一标准!

在项目的制作过程中,以往学到的很多知识在这都得到了很好的体现,比如javascript ,比如在套用模版的时候,一个javabean就能是很复杂的代码变得简单明了。

在数据库这方面,以前感觉自己学的很不错了,但是在亲身去制作的时候发现其实不是想象中的那么随意,微软的sqlserver虽然功能强大一些,毕竟人家是商业级的软件,但这并不代表开源的mysql就比不上sqlserver了,相反,我感觉mysql更适合我们使用,毕竟它没那么复杂。由此,在学习中,我们不能只看那种工具名头响亮,就武断的认为这个就是好的,适合自己的才是最好的,听说人家厉害的程序员都是用自己的软件编写程序,就深深印证了这个道理。 另外在调用数据库资源的时候,每个人如果都没有统一的认知那是很致命的,所以我们就制定了一个共同遵守的命名规则,比如:某个组员在编写时想要调用电影的导演,那么他只需要把调用的值赋值成movie-direction,因为命名规则规定这个属性在数据库中就是这样命名的。这样就很好的解决了组员之间关于数据库调用不协调的问题。

在此次项目的制作中,我深深的体会到了团队协作的重要性,一个好的项目,如果没有众人齐心协力,那么它终究不会太完美,不可否认部分人特别厉害,能

够自己编写所有的程序,但是一个人的力量终究是有限的,众人齐心,其利断金,此次的项目制作让我对这句话有了更深一层的了解。

最后,经过了一个学期的学习,我十分的感谢老师的悉心教导,组员间的相互鼓励和支持,在此深深向帮助过我的学习好的那几个同学表示真挚的感谢,另外,我也会在大学生下来的时光里,努力的去继续学习编程,加强自己的锻炼,增强自己的技能,以便更好的在将来适应这个社会的发展。

相关推荐