从YH项目看软件开发过程

项目名称:基于YH收银系统的通用商业收银系统

项目成员:崔成龙蒋倩兰李祥刘水镜

项目完成度:100%,开始进入维护工作

项目进行了5个月了,磕磕绊绊一路下来,今天终于结项了。虽然项目跟自己的预期差不太多,但是终归是有差距的。而且时间上花费的太多了,都疲了。看来以后需要采用“快速开发,产品迭代”的方式带领团队开发项目了。

在项目开发过程中,不断的学习,不断的探索,不断的实践,从思想上、技术上、解决问题的思路上都有了很大的提升,所谓困难多多,收获多多。

在开发之前,参考了很多软件开发过程的资料,有的说的很模糊,还有的说法有些不一。经历了这样一次完整的开发过程,下面就先说说我理解的软件开发过程吧。

软件开发过程到底是怎么样的?

    众所周知,软件开发过程一般分为5大阶段。那么我也从这5个阶段依次说起:

  【分析阶段】

    老师给我们安排任务,和分组后。项目就算正式开始了。

    熟悉原系统,划分模块

    分析原系统的数据库,对照功能,虽然费时,却能清楚的了解系统的功能逻辑和大致的实现。

    确定系统采用哪种结构哪种方式进行开发:BS、CS,经典三层,MVC、设计模式

    分析需求+新需求,画原型图,写需求分档(功能模块、用户)

  【设计阶段】

    画用例图,分清楚用户与用例的对应关系

    采用开发工具,设计系统的原型图

    设计数据库,生成实体类
    画包图,类图,写方法,参数,注释

    画时序图,捋顺业务逻辑

    写设计文档

  【编码阶段】   

    首先按包图,构建项目框架。

    对源码进行svn版本控制。

    把最最基本的实体类完善。可以借助工具辅助完成。

    修改完善UI层的界面。

    按分工开始同步编码, 编码的分工会在接下来的主题中讨论。

    单元测试要做好

  【测试阶段】

    单元测试已经在编码过程中进行

    集成测试前,要保证完全的测试,要做好几点准备工作:数据库的创建.sql文件,数据库初始化.sql文件,清空和请零自增标记.sql文件。

    集成测试,记录bug

    修复bug,修复一个标记一下

    回归测试,循环多次。

  【运行与维护】

    建立用户档案表,包括用户详细信息,联系方式、系统版本信息、配置信息等。

    建立维护记录表,包括时间、用户信息、bug信息、解决状态、简述解决方案、解决方式(电话指导、现场部署、QQ远程等)

    建立需求记录表,记录用户的新需求

    建立维护解决方案,将每次新问题的解决方法记录下来,方便他人接手维护。

    建立版本更新记录,包括时间,(前台/后台、)前版本号,现版本号,更新内容(修复哪些bug),修改人,审批人,审批时间

每个阶段有应该有阶段评审。由于经验有限,所以我们在整个开发过程中只有2次验收。中期验收,即为编码前的验收,验收原型、需求、设计等是否符合项目要求,符合则可以继续进行,否则返工。结项验收,即项目结束前的验收。验收系统的功能、性能、灵活性等方面,验收各种文档信息。

这就是我通过带领这次软件开发,对软件开发过程的理解。难免有些疏露或者不一致,仅供参考。如有兴趣,可以留言讨论。

时间: 2024-09-20 08:40:30

从YH项目看软件开发过程的相关文章

以测试为核心的软件开发过程

摘要:软件项目规模越来越大,开发团队人员越来越多,人员增加带来管理成本上升,于是引入ISO9000.CMM,但最后发现它们实施难度相当大.于是我们介绍一套行之有效的测试控制方法,它能够有效对软件项目开发进行控制. 关键词:软件测试:软件开发:软件项目管理 1.引言 TC(测试控制方法)是指以测试为核心控制软件项目开发过程的方法,它包括完整的规范TC 系统及其相关管理理论TC 理论.主要完成软件开发中开发流程的管控.软件测试.开发绩效评价.持续改进管控质量等功能. ● 我们先来看一看软件项目开发中

Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发

Scrum 求助编辑百科名片:http://baike.baidu.com/view/1528674.htm    敏捷软件开发模型--SCRUM Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发.包括了一系列实践和预定义角色的过程骨架.Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责维护过程和任务,产品负责人代表利益所有者,开发团队包括了所有开发人员. 目录 简介 Scrum创始人简介 历史 Scrum的特性 Scrum中的角色 Scrum会议 文档 展开 简介 S

Tiny软件开发过程管理暂时不再开源

悠然一直想做一个我不是级的TINY示例,但是这个东东工作量巨大,不是3下5除2可以搞得定的,于是这事儿也就放了下来,直到2015年8月,悠然觉得应该启动这个事情了,当时想得是利用群里的Tiny爱好者来开发,于是就发动了一下,结果有20多名同学准备加入,悠然非常开心,但是实际上也有一些问题,就是这些同学们热情是有的,但是无奈于都是社会中的同学,有的受工作影响,有的受家庭影响,有的受女朋友影响,实际进展不太有利. 正在此时,悠然所在公司的某个部门有十名按C语言招进来的应届毕业生,拟转到Java方向,

《Python数据挖掘:概念、方法与实践》一2.3 项目—发现软件项目标签中的关联规则

2.3 项目-发现软件项目标签中的关联规则 1997年,Freshmeat网站创立,它是一个跟踪免费.自由和开放源码软件(FLOSS)项目的目录.2011年,该网站更名为Freecode.在出售.并购和多次网站重新设计之后,2014年,Freecode网站的所有更新都停止了.这个网站仍然在线,但是不再更新,目录中也不再加入任何新项目.现在,Freecode是20世纪90年代和21世纪初FLOSS项目相关信息的快照.每个软件项目的相关事实包括名称.描述.下载软件的URL.描述其特征的标签.代表其流

[转载]SCRUM软件开发过程

这些天看到一本书<Agile Project Management with Scrum>,感觉很不错,于是在网上找了些相关的资料. SCRUM方法如下: 由Ken Schwaber和 Jeff Sutherland 提出,旨在寻求充分发挥面向对象和构件技术的开发方法,是对迭代式面向对象方法的改进,名称来自英式橄榄球(在比赛中每个队员都应时刻保持对场上全局的判断,然后通过集体行动,奋力实现同一目标──胜利).SCRUM方法最初实践于Easel公司(1993年),现已被数十家公司数百个项目开发中

软件开发过程管理系统、版本控制系统及它们之间的集成

前言:本篇文章对于软件管理系统与版本控制系统将作一定介绍,然后再介绍他们之间需要做的集成. 1.先来谈谈版本控制系统吧 Version Control System,简称VCS,属于软件配置管理(SCM)的一个部分.这个系统可能对于刚毕业的大学生来说比较陌生,几年前甚至对一些企业来说也比较陌生,简单来说这个系统主要是为了更好保存并调用文件(包括文本,代码,图像等)的各个版本.那为什么需要用这个系统来保存各个版本呢? 这个就需要追述到没有版本控制系统之前的历史了,那个时候也有程序员,也要写代码,一

从日文输入法项目看心理模型和实现模型

新年新气象,我们的泛用户体验平台上线啦,为用户体验行业又新添一个企业级的分享和沟通平台- 由此而发,我想就刚告一段落的日文输入法项目分享一些心得,今天主要是对心理模型的话题和大伙聊聊,欢迎各位参与讨论.从古至今,输入行为是人类不可或缺的惯常行为.输入也是记录和传承的基本载体,早期的输入行为的原型就是书写.如今,人们渐渐疏远了常规的墨水和纸张,取而代之的是键盘和屏幕. 输入方式发生了改变,我们每天要处理各式各样的文档,输入编辑各式各样的文案和稿件,和不同的人用IM聊天,书写邮件-用各种语言沟通,这

软件开发过程中的审查 (Review)

软件开发过程中的审查 (Review)   希望别人做些什么->定义出流程 希望别人做出正确的结果->定义出审查制度    软件开发项目中包括很多的审查动作,贯穿于整个开发过程.个人认为审查主要有以下目的: 1.尽早排查出潜在的问题(Potential Risk/Issue)   经过其他人的参与,以不同的视角提出不同的看法,会有类似头脑风暴的效果,集思广议来查找工程师未能注意的问题. 2.保持良好且有效的双向沟通   很多时候沟通并不充分,总有许多以为明白,实际并不明白的情况.组织管理人员需

JSP+Struts+MySQL开发的项目,软件体系结构是怎样的?

问题描述 RTJSP+Struts+MySQL开发的项目,软件体系结构是怎样的?最好介绍的详细一些 解决方案 本帖最后由 berbal 于 2010-04-29 15:05:19 编辑解决方案二:等你知道什么叫软件体系结构再来问吧.估计没有人给你回答的解决方案三:struts作控制层,接收请求,调用业务类处理具体业务,返回结果给JSP.jsp做展示解决方案四:问题问的看不懂!解决方案五:你是这个意思吗?使用的是MYSQL数据库利用JSP作为页面实现使用STRUTS做为逻辑处理解决方案六:JSP+