《IT项目软件管理报告基于PHP的新闻发布系统.doc》由会员分享,可在线阅读,更多相关《IT项目软件管理报告基于PHP的新闻发布系统.doc(19页珍藏版)》请在三一办公上搜索。
1、IT项目软件管理报告项目名称:新闻发布系统 学号:0855010101 班级:计001 姓名: 2011年11月26日摘要随着学院建设力度的不断扩大,现有的学工系统已渐渐不能满足日常维护工作的需求,并且旧的网站平台功能单一、用户体验不够好、界面设计也是3年前的风格。先前的学工系统在设计上太过程序化,使用门槛较高,给日常工作带来较大不便。所以我开发了计算机学院学工系统(新闻发布系统)。学工系统的某些脚本性能不高,导致时常经常造成浏览器响应超时,给运维工作人员的配置工作带来较大不便,绝大多数时间都浪费在了超时等待上了,严重 影响了工作的效率,且支撑工具的跨浏览器解决方案支撑不到位,使用webkit
2、等高效浏览器会造成很多脚本失效,从而无法继续流程。目前,系统的易用性、高效性、统一性、美观性的迫切需求已成为学院改进的目标。基于工作流的设计是保证“易用性”的前提;严格把控代码质量,不以实 现为喜,而以更好的实现为目标,是保证高效性的前提;规划上要把眼光放远,要有大局观和前瞻性,深入一线做好需求分析,这是保证统一性的前提,那么我们开 发了这个学工系统。计算机学院学工系统是一款集文章管理、数据统计、日志分析、安全分析、SNS社区、反馈查询、用户及权限管理等于一体的在线系统。本系统紧密结合学 院特点,完全基于工作流进行设计,优化用户体验,提高工作效率,降低操作门槛;在数据的提交方面都有严格的前、后
3、端数据校验、减免出错率。架构上使用CMS级的架构方案,以灵活性、高效性和复用性为架构原则,为后续的扩展和二次开发构造坚实的基础。功能模块结构分为:数据统计、用户及权限管理、文章系统、留言报名举报、博客平台、校友平台6大功能模块。目 录第1章 绪论11.1 系统的研究目的和意义11.2开发工具的选用和介绍11.3 可行性分析1第2章 需求分析22.1 需求说明22.2用户及其特点22.3用例图42.4 结构图5第3章 系统规划63.1系统功能描述63.2系统功能模块划分93.3系统流程分析103.4系统的数据库设计11第4章 系统分解144.1数据库创建124.2数据库的逻辑设计124.3页面创
4、建13第5章 总结16第6章 成本预测17第7章 日常工作17第8章 如何进行管理18第9章 实施与收尾阶段主要有哪些工作18第10章 作为项目经理具备了哪些知识?哪些欠缺?如何改进?19第1章 绪论1.1 系统的研究目的和意义在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。Internet上发布信息主要是通过网站来实现的,获取信息也是要在Internet“海洋”中按照一定的检索方式将所需要的信息从网站上下载下来。因此网站建设在Internet应用上的地位显而易见,它已成为政府、企事业单位信息化建设中的重要
5、组成部分,从而倍受人们的重视。由于时间有限,加之信息系统开发经验的缺少和编程能力的有限,所以本系统难免存在各种各样的缺点。敬请指导老师能够提出批评和宝贵意见,也希望各位读者提出宝贵意见并进行指正,谢谢!1.2开发工具的选用和介绍本系统的开发环境是PHP+Apache+MySQL+Smarty,我用的是Wamp组合服务器。主要开发工具有Eclipse for PHP,是一个代码和浏览相结合PHP开发工具,数据库使用的是phpMyAdmin2.11.6和powerdesinger 12.5相互协作开发,其它辅助工具还有,Dreamweaver8.0和1st JavaScript Editor pr
6、o 3.8,这两个工具主要用于HTML标签语言和JavaScript脚本语言的编写。1.3 可行性分析本系统属于数据信息发布与管理系统类。用户对功能上的要求不是很复杂,而且有强大工具和框架环境支持。新闻发布系统后台管理对新闻做了详细的分类,前台以分类形式显示新闻的详细信息,满足了人们浏览新闻时分类查看新闻信息的要求,前台提供查询新闻信息功能,方便浏览者查找相关的新闻信息新闻。新闻发布系统后台由管理员进行管理维护,保证了网站的安全性,所以本系统是十分可行的。1.5数据流图数据流图是组织中信息运动的抽象,是新闻发布系统逻辑模型的主要形式。它是采用自顶向下逐层扩展的方法,从逻辑上精确地描述系统具有的
7、数据加工、数据存储、数据输入输出及数据来源和去向等功能。这个模型不涉及硬件、软件、数据结构与文件组织,它与对系统的物理描述无关,所描述的内容是面向用户的,是系统设计的主要依据之一。数据流图的符号说明如图3.3所示:外部项 加工 数据存储 数据流图3.3 数据流图图例根据调查材料,明确系统外部项,识别数据输入的来源和输出的去处,自顶向下逐层扩展整个系统的逻辑功能。1.5数据字典上面讨论的数据流图只能给出系统逻辑功能的一个总框架而缺乏详细、具体的内容,因此我们还需要建立数据字典。建立数据字典是为了对数据流程图上各个元素做出详细的定义和说明。数据字典以一种准确的和无二义的方式定义所有被加工引用的数据
8、流和数据存储。数据流程图配以数据字典,就可以从图形和文字两个方面对系统的逻辑模型进行描述,从而形成一个完整的说明。数据字典有助于数据的进一步管理和控制,为设计人员和数据库管理人员在数据库设计、实现和运行阶段控制有关数据提供依据。数据字典描述的主要内容有:数据流、数据元素、数据存储、加工外部项。第2章 需求分析2.1 需求说明该系统在性能功能上应达到如下需求:操作简单、界面友好、完全控件式的页面布局,使得新闻的录入工作更简便,许多选项包括新闻分类、新闻列表、新闻出处等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。对常见网站的新闻管理的各个方面:新闻录入、浏览、
9、删除、修改、搜索等方面都大体实现,实现了网站对即时新闻的管理要求。通过相关调查,要求该系统应具有以下功能:1. 通过网络浏览各类新闻及相关信息。2. 新闻能分类显示相关信息。3. 提供站内新闻的搜索功能。4. 支持其它网站的友情链接。5. 为后台管理提供管理入口。6. 后台编辑个类新闻并且管理新闻信息。2.2用户及其特点对于本系统,用户共分为两类:普通用户、管理员,各有不同的权限。(一)普通用户: 此类用户具有以下权限:1. 浏览已发布的新闻。2. 查看、修改和删除自己的注册信息。3. 发表评论。4. 查看其它普通用户的评论。5. 登录后可以对个人密码进行修改。6. 可与其他普通用户进行交流,
10、收发信息。(二)管理员:此类用户具有以下权限:1. 浏览所有网页。2. 具有管理普通用户的权限。3. 发布公告信息,可供用户浏览。4. 对不合适和没用的评论进行删除。5. 向数据库导入各用户的注册信息信息。6. 登陆后可修改个人密码。7. 可以删除任何一个普通用户的所有信息。2.3用例图 管理员普通用户新闻发布系统 图2-2 系统顶级用例图2.4 结构图 图2-2 系统结构图(HIPO图)2.5 实体关系图新闻发布系统的数据库设计中,首先要对系统分析得到的数据字典中的数据存储进行分析,分析各数据存储之间的关系,可采用ER图进行数据结构分析。ER图是概念模型最常用的表示方法,在ER图中:1. 用
11、长方形表示实体型,在框内写上实体名。1. 用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连,在无向边旁标上联系的类型。若实体间的联系也具有属性,则把属性和菱形也用无向边连上。新闻发布系统的ER图2-3所示:第3章系统规划很多网站都提供新闻栏目,例如腾讯、新浪等著名网站的新闻专栏。许多学校和个人网站也需要定期发布一些关于企业或网站的新闻。因为网络中新闻发布的频率非常高,如果使用静态网页作为新闻页面,则维护工作将会非常繁琐,管理员每天需要制作大量的网页,从而浪费很多时间和精力。使用新闻发布及管理系统(PHP制作的动态网页)可以使新闻发布和管理变得很轻松,管理员只需设置标
12、题、内容、作者和图片等新闻就可以了,系统将自动生成对应的网页。本文将对新闻发布及管理系统进行系统分析与总体设计。3.1系统功能描述新闻发布及管理系统包括新闻类别管理、新闻发布管理、新闻查询、网友评论和用户管理等模块。具体描述如下:1新闻类别管理:(1)新闻类别的录入,包括类别编号和类别名称等信息;(2)新闻类别的修改; (3)新闻类别的删除;(4)新闻类别的查询。2新闻发布管理:(1)基本新闻信息的录入,包括新闻标题、新闻作者、新闻内容和所属类别等;(2)基本新闻信息的修改;(3)基本新闻信息的删除;3新闻查询模块:(1)按照新闻类别分页显示新闻; -(2)按照日期分页显示新闻。4网友(普通用
13、户)留言模块:(1)网友对某条新闻发表评论;(2)管理员可以删除新闻评论。5普通用户管理功能:(1)普通用户信息的录入,包括用户名和密码等信息;(2)普通用户信息的修改;(3)普通用户信息的删除。3.2系统功能模块划分后台系统 提供数据新闻类别管理前台系统数据库基本信息发布新闻查询管理发表网友评论 图3-1 新闻发布系统功能模块关系图在本系统中,用户管理模块的功能比较简单。在系统初始化时,有一个默认的“系统管理员”用户Admin,由程序设计人员手动地添加到数据库中。Admin用户可以创建用户、修改和删除用户;普通用户则只能修改自己的用户名和密码。系统用户信息管理修改Admin用户的密码创建、修
14、改、删除普通用户信息修改自身的Admin用户普通用户 图3-2 普通用户功能模块关系图3.3系统的概要设计本项目是基于PHP+Apache+MySQL的WEB应用系统,采用B/S模式。B/S模式的优势是系统开发、维护和升级方便,管理成本较低。用户界面一致,使用简单,能实现不同的人员,从不同的地点,以不同的方式访问和操作;一般客户机不需要额外安装新的软件,只需安装有浏览器就可以进行操作。方便维护管理,应用程序运行在服务器端,这样便于系统的管理、更新和升级,降低了服务端和客户端之间的依赖性,同时通过了应用程序代码的安全性,有效地保护系统平台和服务端的数据库的安全。应用界面连接数据库数据库 业务处理
15、逻辑业务处理层数据连接层数据存储层登 录登录成功 调用 返回图3-5 系统分层图3.4系统流程分析为了使读者进一步了解本实例系统的设计,本小节将对系统进行流程分析。多用户系统的工作流程都是从用户登录模块开始,对用户的身份进行认证。身份认证可以分为以下两个过程:(1)确认用户是否是有效的注册用户。(2)确定用户的类型。第1个过程决定用户能否进入系统。第2个过程根据用户的类型决定用户的操作权限,从而决定用户的工作界面。本系统分为前台系统和后台系统两个部分。前台系统不需要进行身份认证,任何人都可以通过浏览器阅读已经发布的新闻、发表网友评论。后台系统的流程分析如图3-4所示。Admin用户拥有所有的权
16、限,普通用户只能对自己发布的新闻进行管理,包括修改新闻内容、删除新闻和删除网友评论。开始用户登录失败重试管理所有用户的信息管理新闻类别,发布信息,所有新闻信息的管理管理自己的信息新闻发布,自己发布的新闻的管理Admin普通用户 图3-4 后台系统的流程分析图3.4系统的概要设计第4章 系统分解这一章将介绍系统的数据库表结构和创建表的脚本。4.1数据库的创建本系统用的是MySQL数据库,创建是用phpMyAdmin网页式的数据库工具来完成的。首先创建一个数据库news_php100,用来保存本系统的所有数据。4.2数据库的逻辑结构设计根据用户需求,共创建了5个表,分别为:系统配置表:p_conf
17、ig、系统用户表:p_admin、新闻分类表:p_newsclass、新闻基本表:p_newsbase、新闻内容表:p_newscontent。以下是新闻发布系统的数据库表结构的详细描述:1. 系统用户表:p_admin系统用户表:p_config用系统用户表来保存系统用户(管理员)的基本信息。序列编号字段名称数据类型说明1uidint(3)2m_idint(2)3usernamevarchar(25)4passwordvarchar(50)5namevarchar(50)图 4-1 系统用户表: p_admin2. 系统配置表:p_config用系统配置表来保存相关配置信息。序列编号字段名称
18、数据类型说明1namevarchar(20)2valuesvarchar(100)3remarktinytext图 4-2 系统配置表: p_config3. 新闻基本表:p_newsbase用新闻基本表来保存新闻列表的相关信息。序列编号字段名称数据类型说明1idint(11)2cidint(11)3titlevarchar(50)4authorvarchar(25)5date_timeint(10)图 4-3 新闻基本表: p_newsbase4. 新闻分类表:p_newsclass新闻分类表主要用来保存新闻的分类信息。序列编号字段名称数据类型说明1idint(11)2f_idint(11)
19、3namevarchar(25)4keywordvarchar(100)5remarkvarchar(100)图 4-4新闻分类表: p_newsclass5. 新闻内容表:p_newscontent此表主要用来保存各条新闻的详细内容信息。序列编号字段名称数据类型说明1nidint(11)2keywordvarchar(100)3contenttext4remarktext图 4-5 新闻内容表: p_newscontent图4-6 新闻发布系统数据库各表关联图第5章 总结经过几个月的努力学习和实践,我在理论和实践两方面的能力都得到了锻炼。对WEB技术如HTML,CSS,JavaScript,
20、PHP等知识都进行了很好的练习。在这个系统新闻发布系统中通过对新闻列表、新闻分类、新闻发布、新闻添加与删除等常见功能额设计与实现,进一步了解程序的编写过和规范。如DIV+CSS和FrameSet框架的使用提高了网站的浏览速度和浏览者的使用效率;公共类和公共模块的编写提高了应用程序的开发效率。经过一个完整项目的开发我也对软件开发的过程也有了新的认识和理解。对面向对象的分析和设计,对设计模式都通过实践有了更加深刻的认识。第6章 成本预测由于我这次小组创建网站,项目范围比较小,标准相对较低,所以在进行成本估算的时候,需要考虑的因素比较少。产品 价格数量项目经理在成本预算中的任务服务器 0 网络中心提
21、供电脑 0 自己出自己用(对于人力成本,由于我是属于个人模式,暂时忽略不计)对于IT项目管理,影响其成本的因素有很多,比如项目质量,项目工期,管理水平,人力资源,价格等等。我们这个任务以简单常见静态网站为主,所真正涉及的采购物品较少,影响成本的因素只有我们认为的,主观上的判断,而且不会对结果造成特别大的影响。虽然任务相对比较简单,但是我没有放松对成本估算方法和技术的研究学习。对于集中成本估算方法中,各有所长,一般情况下,我们都会采用专家判定技术法,将它改为小组成员判定法,通过例会的方式,大家畅所欲谈,然后集中意见,总结结果,并且最终实施。至于COCOMO模型,以后工作中会有所涉及,暂时没有下很
22、大功夫研究。在项目成本控制的过程,基于本次小组实际发生的成本情况没有发生重大变化,所以没有对项目成本做较大变更。在真正的IT项目中,有效地控制项目成本的关键是经常及时的分析项目成本管理的实际绩效,至关重要的是尽早的发现项目成本出现的偏差和问题,一边在情况变坏之前能够及时采取纠正措施。在通常情况下,项目在整个执行过程中是不断变化的,特别是IT项目的特点决定他们频繁的变化。对于成本控制的结果就是将会对成本计划进行新的调整。第7章 日常工作 日常工作部分,我负责新闻系统的日常程序维护,对于这个系统,除非领导要求追加模块否则不需要什么维护,安全性等方面有个时候会看看。而日常的新闻发布工作由计算机学院学
23、工办安排相关人员完成。服务器维护由网络中心负责代理完成。第8章 如何进行管理 技术方面以我为中心团委学生会的网络部负责协助我进行管理。而日常的管理在系统后台有权限分配管理,权限由党委副书记负责分配权限,并进行监管。 领导能带来有用的变革使生机持续不断,管理能带来秩序使事情高效运转;但领导自身永远不能使一项活动年复一年地按时、按预算保持运转,而管理本身也永远不可能创造出重大的有用变革。只有有力的管理和有力的领导联合起来,才能带来颇为满意的效果,形成企业强有力的生存、发展能力。尤其是在变化日益频繁复杂,效率越来越决定竞 争成败的现代环境条件下,更需要强有力的领导与强有力的管理共同作用。若两者都不具
24、备或都很弱,则宛如一只无舵之船再加上船体还有大洞;若两者只具备其 一,不一定能使情况变得更好。第9章 实施与收尾阶段主要有哪些工作项目实施实施的工作也就是将开发好的系统,平台等,安装部署在客户服务器上,在保证在内部环境运行正常的情况下,再在客户实际环境中进行测试,测试通过后,就可给客户使用.再做好售后服务.管理收尾是项目经理经常忽略的过程。把项目文档整理一下归档,对于项目的延续性是有很重要的意义的。以后如果找不到相关文档,还不是一样要找项目经理的茬。当然,公司的行政规定在这里更关键,毕竟这是公司长远发展的需要,不能总是依靠项目经理的悟性和自觉性来保证。项目进行了这么久,让项目组成员来个庆功座谈
25、会,大家轻轻松松的谈谈感想,总结一下在项目中的所学所得,对于项目经理和项目组成员来说都是很有用的。项目经理把项目经验归纳归档起来,又会对别的项目经理、对公司的项目管理文化作出了不少的贡献。很多著名的公司都对项目经验总结这一环节看得很重,毕竟现在业界提倡的PMM(Project Maturity Model)的最高境界就是不断地学习改进。第10章 作为项目经理具备了哪些知识,欠缺,如何改?要先写几年程序,要多一些开发经验。最好能参加一些大型项目的开发,并且在开发过程中,学习如何设计系统架构,如何做需求分析,相 应的各种图要学习,至少要能看懂,还要学习时间管理,团队的冲突管理,人际关系。先学这些吧
26、,等学好了,根据你的实际情况看还需要学什么。 其次成为项目经理还要具备一些其他的素质,首先是有一定的施工经验,能很好的处理工地上一些问题,其次是有很好的人际处理关系,你如何去处理与业主和监理 见的关系对你的工程进行有很大的联系,最后是要会用人善于管理,因为项目经理不可能什么都会,在一些领域可以说是门外汉,能很好的利用你手下的人才,让他 们能很好的发挥自己的能力为你做事情。这也很重要。要多吸取别人的意见,不要武断自己的结论。博人所长,综合起来才算趋于完美。这个原因有二:其一,项目经理不是孤立的一个人,而是必须 融于团队之中,一个流程合不合理,不是由项目经理说了算,而是要由团队的成员说了算,注意倾
27、听团队成员的真实感受,不断改进流程才能成功。中国的许多CMM 改进失败,并不是项目经理知识能力不够,而是他们没有一起与团队总结,经多年经验,我们发现大多数规范,必须要有一套合理的软件支持才能成功,否则无论你 的理想多先进,想靠程序员工作来提高过程质量的改进是不现实的。其二,“闻道有先后,术业有专攻”,项目经理不可能是全才,什么都懂。因此要和哪些与专攻 方向不同的人一起总结。比如项目经理可能精通软件开发流程的改进,但是却不知道测试流程、网络管理流程、品质保证流程的改进,而这些流程又直接作用于软件 开发流程。这个时候必须与测试人员、网管人员、质量保证人员共同探讨,找出一条切实可行的改进方案。项目经理除了必须具备以上素质外,还必须要有珍惜时间、要有勇气、善于倾听等基本素质这些我都需要改进。