淘淘商城第六天1内容复习 1、前台系统的搭建 a)服务层 b)表现层 2、首页的展示 3、商品类目展示 a)使用ajax跨域调用服务。 b)使用jsonp实现 2课程计划 1、首页的内容展示:轮播图展示。 2、Cms系统的实现。 3、Taotao-rest发布服务。 4、表现层调用服务,展示轮播图。 3首页轮播图展示 3.1 首页内容管理思路 首页展示的内容都应该可以通过后台来管理。 1、内容的分组 2、分组下还可以有小组 3、广告项目中有图片 4、标题 5、价格 6、链接 7、内容 第一块:内容的分组管理,应该是一个树形结构。 第二块:内容管理。 图片、链接、标题、价格、内容。 使用两个表来保存内容数据: 1、内容分类表:
2、内容表: Cms系统:内容管理系统。
4内容分类管理 4.1 展示分类列表 4.1.1分析 初始化easyUI的tree控件url:/content/category/list 请求的参数:id,父节点id 返回结果:json数据(EasyUITreeNode列表) 是一个列表,列表中每个元素包含三个属性: 1、Id 2、Text 3、state 4.1.2Dao层 从tb_content_category表中取数据,根据parentid查询分类列表。可以使用逆向工程生成的代码。 4.1.3Service层 接收一个parentId,根据parentID查询节点列表。创建一个EasyUITreeNode列表。返回。参数: Long parentId 返回值:
List
呈祥企业生产经营管理系统 项目开发总结报告 项目承担部门: 撰写人(签名):李新贺 完成日期:2016-7-11 本文档使用部门:□主管领导□项目组□客户(市场)□维护人员□用户 评审负责人(签名): 评审日期:
Hwadee^ii 文档信息
目录 1 引言 (2) 1.1 编写目的 (2) 1.2 背景 (2) 1.3 定义 (2) 1.4 参考资料 (2) 2 实际开发结果 (2) 2.1 软件产品描述 (2) 2.2 主要功能和性能 (4) 2.3 进度 (4) 2.4 成本 (5) 3 开发工作评价 (6) 3.1 对项目开发过程的评价 (6) 3.2 对技术方法的评价 (6) 3.3 对产品质量的评价 (6) 4 试运行工作评价 (6) 5 技术积累总结 (7) 6 经验与教训 (7)
1 引言 1.1 编写目的 为了保证项目团队按时保质地完成项目目标,便于项目团队成员更好地了解项目情况,使项目工作开展的各个过程合理有序,因此以文件化的形式,把对于在项目生命周期内的工作任务范围、各项工作的任务分解、项目团队组织结构、各团队成员的工作责任、团队内外沟通协作方式、开发进度、经费预算、项目内外环境条件、风险对策等内容做出的安排以书面的方式,作为项目团队成员以及项目干系人之间的共识与约定,项目生命周期内的所有项目活动的行动基础,项目团队开展和检查项目工作的依据。 本文档是西北农林科技大学2013 级软件工程专业11 实习小组根据呈祥企业生产经营管理系统项目的初步需求,并对该项目的各项需求进行全面分析之后,做出的软件开发计划,可供支持项目组内部及信息技术部内部的研发工作。 A O 1.2 背景 说明项目的相关背景,包括: 项目名称:呈祥企业生产经营管理系统任务提出者:四川华迪公司 用户:业主运行维护人员、施工单位作业人员、视察人员、招标人信息管理人员 开发者:邵添、孙雨柔、乔娇、江旭、李新贺、马金亮项目提出的背景:呈祥企业需要一个覆盖企业生产经营主要活动的信息管理平台 1.3 定义 CM :Configuration Management 配置管理 SPP :Software Process Plan 软件开发计划 RUP :Rational Unified Process 统一软件开发过程 CCB :变更控制委员会 EPG :Engineering Process Group ,即工程过程组 1.4 参考资料 百度百科 2 实际开发结果 2.1 软件产品描述 说明本次发行、交付的软件产品的版本,包括: 版本1.0 呈祥企业生产经营管理系统”项目根据功能不同分为6 大部分。 在角色管理中,权限可以细分为: 1. 提供员工、职位和客户管理,包括用户创建,删除,更新、权限,角色的分配,和系统登录 2. 完成系统访问安全认证。
[转] 广州服装批发内幕全攻略 广州服装货源进货内幕全攻略 众所周知,广州是全球闻名的服装和小商品批发地之一。但是在这块寸土寸金之地,同样有着不同的价格,作为一个生意人,一个长期的优质货源有多么重要不言而喻。我接触过许多外地来的朋友都抱怨:广州这么大,好货源哪里找呢?确实,即使是广州市内,也有很多挂羊头卖狗肉的地方,举个例子,我曾经在广园新村看见一个箱子40元,在一德路就卖180,还声称广州最低价!这是这两天亲眼看到的。同时,一笔经济账将外来的朋友压的喘不过气来,多数朋友选择在广州火车站商圈住宿,每天的住宿费动辄两三百元,加上其他费用,每天三百元是打不住的。就算如此,也很难清楚火车站商圈的货源,更别说更多有优质货源的其他地方了,好多朋友来了两天就草草的结束广州的“打货”之旅,不但没有找到优质的货源,反而要因此经常往返于广州真是得不偿失。根据我在广州1年的工作经验和同事朋友的帮助,加之我一直非常想跳出来做生意,可以说将广州各大批发市场跑的烂熟。今天就来整理一下广州服装货源,希望对寻找货源的新手们有所帮助,不敢说价格全国最低的,毕竟别人做生意也要赚钱,但是绝对全国绝大多数市场打货的主流集散地,为什么我敢这么说呢,因为我是武汉人,武汉有个华中批发重镇,天下第一街汉正街,相信各位也有所耳闻吧,但是相对这里的货源,价格还是不是一个档次的,我有些朋友做汉正街的都是跑到广州来拿货,有的甚至在白马拿货(白马的价格是比较高的),所以对于个体散户,今天列举的货源优势不言而喻。如果是大批发人士还是去中山的一些小镇小作坊拿货吧,1W件起打包不选款的那种,价格相当便宜。 1.广州火车站商圈 广州白马商圈:以火车站为依托,以外贸为旗号(当然确实不少外贸精品,这里老外也多嘿嘿。但我可以爆个内幕,俺朋友家里是做服装的,白马附近好多服装是沙河或者十三行的低档货,常常拿10来块的货在这边卖50,80甚至更多的也有),也包括往站西那边走的路上几个纯外贸服装的商城和火车站的地五大道,地下错综复杂的服装档口网络延续了数站路,出口有数十个之多,新手真的会在里面迷路,可惜这里面多是做老外的生意,中国人去了常常会被冷眼相待。这边的老板真的不愁生意,统一的特点就是有现货,他们囤积了大量的货,你在这边很难讲价的原因就是附近好多家都是一个老板的产业,他们将价格规定死了,我姨妈的朋友,她女儿就是这里的老板,每年从广州沙河拿几千万的货去澳大利亚卖,同时在这边有6间连着的档口,货源都是来自日本韩国,但是人家采取保密的态度也不太好打听。 这个商圈是许多学生卖家和年轻人喜欢打货的地点,因为一是离火车站进,没理由舍近求远的心理在作祟,还有就是这里的服装真的很吸引人,再加上穿着火辣态度热情的辣妹,很容易就敞开腰包认她们宰你温柔一刀了!每次看着一个个热火朝天在挑选衣物的靓妹们我都不禁从心底发出一声慧慈常用的惊叹:OH~MY GOD!~~~~很多人也许来广州好多次才能发现,这边的货回去跟当地的服装在价格上并没有很明显的优势,甚至价格上有过之而无不及,因为这边的货普遍特点就是靓而贵,而且基本上都是采取一个大店铺请许多靓妹的形式,所以也很难讲价。适合高档地段,目标人群起码是公司白领,对生活品质有一定追求的受众群体。如果是一些普通的地段,中低或者大众化群体消费的服装,真的不推荐在这里拿货。其实做生意的老手想想就知道了,火车站这种黄金地段,那种商业氛围下租金多少不言而喻,每年租金十几万甚至几十万的”小“店并不在少数。 作者评级:★★★ 理由:价格偏高并有少量以次充好 适合人群:以外贸为旗号,针对高中端,注重商品质量,销路十分通畅的卖家 普遍价格区间:100左右或以上每件 这里就是白马了,go,卡按靓女去咯
淘淘商城的第一天 1课程计划 一共14天课程 1、第一天:电商行业的背景。淘淘商城的介绍。搭建项目工程。Svn的使用。 2、第二天:框架的整合。后台管理商品列表的实现。分页插件。 3、第三天:后台管理。商品添加。商品类目的选择、图片上传、富文本编辑器的使用。 4、第四天:商品规格的实现。 5、第五天:商城前台系统的搭建。首页商品分类的展示。Jsonp。 6、第六天:cms系统的实现。前台大广告位的展示。 7、第七天:cms系统添加缓存。Redis。缓存同步。 8、第八天:搜索功能的实现。使用solr实现搜索。 9、第九天:商品详情页面的展示。 10、第十天:单点登录系统。Session共享。 11、第十一天:购物车订单系统的实现。 12、第十二天:nginx。反向代理工具。 13、第十三天:redis集群的搭建、solr集群的搭建。系统的部署。 14、项目总结。 今天的内容: 1、电商行业的背景。 2、淘淘商城的介绍。 3、工程项目的搭建。 4、Svn的使用。 2电商行业介绍 2.1 电商行业发展 近年来,中国的电子商务快速发展,交易额连创新高,电子商务在各领域的应用不断拓展和深化、相关服务业蓬勃发展、支撑体系不断健全完善、创新的动力和能力不断增强。电子商务正在与实体经济深度融合,进入规模性发展阶段,对经济社会生活的影响不断增大,正成为我国经济发展的新引擎。 中国电子商务研究中心数据显示,截止到2012年底,中国电子商务市场交易规模达7.85万亿人民币,同比增长30.83%。其中,B2B电子商务交易额达6.25万亿,同比增长27%。而2011年全年,中国电子商务市场交易额达6万亿人民币,同比增长33%,占GDP比重上
软件项目开发工作流程 一、简述 对于一个新项目,从可行性研究到产品交货整个生存阶段将经历如下十大流程: 1、项目可行性研究阶段 2、立项阶段 3、需求分析阶段 4、开发策划阶段 5、设计阶段 6、编码实现阶段 7、测试阶段 8、验收阶段 9、产品交付使用 10、维护阶段 二、项目组基本组成及岗位职责 新项目立项时会成立项目组,不同的项目组成员有不同的职责,一个项目组成员也可以身兼多职,但不可身兼全职。 a项目负责人:负责项目的管理、组织、对技术、进度、质量全面负责。 b质量保证人员:负责质量保证工作计划的落实和软件的质量保证。 C配臵管理人员:负责本项目的配臵管理工作,对本项目的文档、程序是否符合规程文件的要求进行形式化的检查。 D分析人员:主要负责本项目的需求分析工作。 E设计人员:主要负责本项目的设计工作。 F程序员:按设计要求和有关标准进行编程工作。 G测试人员:负责单元测试、组合测试和总装测试工作。 H文档人员:负责本项目有关文档的编写工作。 I产品经理:协助进行产品研制计划制定、产品发布与产品推广等,在产品开发中,充分代表用户的利益,提供建议,负责在产品功能与出品日期二者之间的权衡;负责产品市场营销、产品销售和市场推广过程。(通常由营销部门或中试部门人员担任) 三、软件开发流程 3.1 可行性研究阶段 如果是公司自主开发项目,可行性研究通常是由公司技术负责人根据公司产品规划和市场需求,在要开展新项目前通过部门负责人指定人员进行的前期调研工作,可行性研究负责人员对产品的市场需求、技术发展、市场定位、功能需
求、经济效益、进度需求、风险分析等进行可行性研究,提供产品立项建议,拟制可行性研究报告,由部门负责人指定营销部门配合可行性分析人员,技术负责人协助安排。可行性分析完毕后由总工办组织对可行性研究报告进行评审,评审通过后,总工办组织进行立项工作。 如果是系统集成部外接的系统集成项目,在系统集成部与客户签订合同之前,均应对将签项目进行资源、技术、市场的可行性分析,可行性分析通过后、签订合同前由总工办组织相关人员对合同条款进行评审,评审通过后,总工办组织进行立项工作。 本阶段提交的文档:项目可行性研究任务书(技术负责人或部门负责人下达) 项目可行性研究报告(可行性研究人员编写) 系统集成项目合同 质量记录:可行性分析评审报告 3.2立项阶段 可行性分析评审通过后,由开发部门经理下达立项任务,指定相关人员填写立项申请报告报批。报批通过后,由部门经理与技术负责人协商,下达开发任务书,经技术负责人审核确认后,报公司批准。批准立项后项目进度应以立项申请报告中的阶段进度为准,如果进度要调整,需填写进度调整申请报告报批。 本阶段提交的文档:项目立项申请报告 开发任务书 3.3 需求分析阶段 承办单位根据交办单位提出的技术要求和相应的软件任务书以及其它有关文件,与交办单位协作,确定详细的软件需求,该阶段完成的软件需求规格说明经审定和批准后将作为整个软件开发工作的基础列入配臵管理的基线,在本阶段可利用快速原型法使比较含糊的具有不确定性的软件需求(主要是功能)明确化。能给本公司开发的软件的“需求基线”确定提供一个讨论、进一步完善的基础。在本阶段,由产品经理负责,其他人员配合,编写产品规格说明书,此说明书面向最终用户和领导,主要描绘产品的形状以及功能、性能、功能特性、性能特性。由项目经理负责编写系统技术方案书,描述公司初次使用的技术的详细解决方案。本阶段完毕后对需求分析进行评审,出具需求分析评审报告。 本阶段提交的文档:软件需求规格说明书。 原型分析说明书 产品规格说明书 系统技术方案书 质量记录:需求分析评审报告 提交的软件:产品的原型(注:如果时间有限,可以只编写原型分析说明书而不作原型) 3.4开发策化阶段
淘淘商城第四天 1第三天内容 1、nginx的反向代理、负载均衡 2、fastDFS,分布式文件系统。图片服务器。访问图片使用nginx+fastDFS的插件。 3、使用FastDFS的客户端上传图片。 4、图片上传功能实现。 5、Springmvc和spring父子容器。 2课程计划 1、富文本编辑器的使用KindEditor。 2、商品添加功能的实现。 3、规格参数的实现 3富文本编辑器的使用 3.1 使用方法 第一步:从KindEditor的官方网站下载源码。https://www.doczj.com/doc/187202913.html,/demo.php 第二步:解压缩,把js源码添加到工程中。
第三步:把kindeditor-all-min.js引入到jsp中 第四步:把kindEditor的语言包引入到jsp 第五步:创建一个textArea控件,作为富文本编辑器的数据源。 第六步:编写js代码初始化KindEditor控件。需要指定textArea控件。 第七步:在提交表单之前,先把富文本编辑器中的内容同步到textArea控件中。
Sync()方法实现。 3.2 流行的编辑器 1、KindEditor 2、https://www.doczj.com/doc/187202913.html,/website/ 3、Ckeditor https://www.doczj.com/doc/187202913.html,/ 4商品添加的实现 4.1 分析 4.1.1数据库 相关的表:tb_item、tb_item_desc 执行insert操作,可以使用逆向工程生成的代码。商品id应该是一串数字。 可以使用毫秒+两位随机数生成一个id。 使用工具类:
4.1.2页面 提交请求的url:/item/save 请求的参数:表单中的内容。 可以生成如下格式的字符串: Name=zhangsan&password=123&id=szfda2313as 返回值: Json数据,应该包含一个status属性,代码状态码200正常。TaotaoResult 4.2 Dao层 可以使用逆向工程生成的代码。 4.3 Service层 1、接收TbItem对象,String desc 商品描述两个参数。 2、在TbItem对象中补全属性,包括id、status、create、update。 3、调用Mapper的insert方法插入数据。
管理目标 1、所有关系人清晰明确地了解项目的需求和期望,努力做到满足项目所有关系人的不同需求;项目关系人包括:项目团队成员和项目团队外(内部/外部客户,内部/外部合作伙伴,经销商/客户等)。 2、项目管理三要素平衡(时间/成本/质量),即开发项目按需按时按质的完成。 3、目标:功能满足需求,设计支持变化,开发快速迭代,成果持续交付。 执行概述 1、建立有效的工作流程保证项目的顺利进行,初期使用传统RUP过程,引入部分敏捷方法, 团队磨合完成后逐步实现敏捷开发全流程管理。 2、明确项目目标,制定具有可行性的项目计划,有效明确的分解项目需求。 3、跟踪设计/开发/测试/回归/发布全流程,推动项目按预定计划执行。 4、解决项目过程中出现的问题和冲突,一般集中在需求不明/工作量或时长/开发难度/跨 部门协调等几个方面。 5、调动开发团队的积极性,创造力,推动团队成员在项目过程中的学习成长。 6、风险识别、风险控制以及风险的预案。 项目管理 1、需求阶段 对项目进行技术可行性分析、技术评估、成本评估以及风险评估。 与需求提出方的代表进行需求讨论,明确项目的目标、价值。 确定项目范围、功能及优先级。 组建项目团队,特别要搞清楚项目的关键人。 项目启动会议,相关的关系人都必须参加。 2、设计阶段 根据确认后的软件需求规格说明书,制定项目进度计划,工作任务分解(WBS);资源申请,项目涉及到的开发资源、测试资源、设计资源(包括人员和软硬件资源);数据库设计;系统设计;文档(包括系统用例、Demo、测试用例等);评审会议。 设计阶段结果交付一般为系统用例/系统原型/系统设计文档(概要设计和详细设计)/数据库设计文档等。 该阶段交付成果需要进行评审。 3、执行阶段(开发和测试) 准备开发环境、测试环境。 跟踪,推动项目按计划进行。 项目成员以日报/项目负责人以周报的形式通报各关系人当前项目的进展情况。 按里程碑对阶段成果进行评估,以确保该阶段完成的质量。 代码审核,包括CS审核、SQL审核、WEB审核等。 对需求变更进行控制管理。 测试阶段BUG响应及改进、收集反馈意见。 对项目风险进行管理。 4、发布阶段 包括制定项目发布计划,用户培训,发布上线。 5、试运行阶段 数据监控(日志、服务器状态),根据监控出现的问题,及时进行处理,改进性能问题,特定情况执行补丁升级。
淘淘商城第二天 1课程计划 商品列表的查询 1、框架整合springmvc+spring+mybatis 2、创建数据库 3、使用mybatis的逆向工程生成代码 4、商品列表功能实现 2创建数据库 使用mysql数据库。 在互联网行业的项目中尽可能的减少表的管理查询。使用冗余解决表的关联问题。有利于分库分表。 商品表:
Sku:最小库存量单位。就是商品id。就是商品最细力度的划分。每个sku都唯一对应一款商品,商品的颜色、配置都已经唯一确定。 3逆向工程 Mybatis的逆向工程。根据数据库表生成java代码。 注意:如果想再次生成代码,必须先将已经生成的代码删除,否则会在原文件中追加。
4Ssm框架整合 4.1 整合的思路 4.1.1Dao层 使用mybatis框架。创建SqlMapConfig.xml。 创建一个applicationContext-dao.xml 1、配置数据源 2、需要让spring容器管理SqlsessionFactory,单例存在。 3、把mapper的代理对象放到spring容器中。使用扫描包的方式加载mapper的代理对象。 4.1.2Service层 1、事务管理 2、需要把service实现类对象放到spring容器中管理。 4.1.3表现层 1、配置注解驱动 2、配置视图解析器 3、需要扫描controller 4.1.4Web.xml 1、spring容器的配置 2、Springmvc前端控制器的配置 3、Post乱码过滤器 4.2 框架整合 需要把配置文件放到taotao-manager-web工程下。因为此工程为war工程,其他的工程只是一个jar包。
淘淘商城第十一天 1第十天内容回顾 1、单点登录系统 a)分布式环境下session共享。 b)Session放到redis中。 c)使用uuid生成一个token d)Token放到cookie中。 e)根据token或用户信息。 2、sso系统集成portal a)用户登录注册功能都跳转到sso系统。 b)登录完成后跳转首页。 c)首页需要在加载完成后,需要从cookie中取token,调用sso系统的服务(jsonp) 根据token查询用户信息,把用户名显示到首页。 d)使用拦截器实现用户强制登录。 e)回调页面的实现 2课程计划 1、购物车的实现 2、订单系统的实现。 3购物车 3.1 分析 1、添加购物车不需要用户登录。购物车的数据应该放到cookie中。 2、当向购物车添加同一款商品时,购物车中商品的数量增加。 3、购物车中可以删除商品 4、购物车中可以修改商品数量。商品的总价需要重新计算。 5、点击“结算”按钮要求用户登录。 3.2 添加购物车 3.2.1分析 请求的url:/cart/add/${itemId}.html 1、接收商品id,根据商品id取商品的图片、title、单价,需要包含商品的数量。并且把数据保存到列表中。 2、把商品数据转换成json数据,保存到cookie中。对购物车数据进行转码。 3、展示添加购物车成功页面。
3.2.2Service 参数: 1、商品id 2、商品数量 业务逻辑: 1、接收商品id 2、从cookie中购物车商品列表 3、从商品列表中查询列表是否存在此商品 4、如果存在商品的数量加上参数中的商品数量 5、如果不存在,调用rest服务,根据商品id获得商品数据。 6、把商品数据添加到列表中 7、把购物车商品列表写入cookie 8、返回TaotaoResult 返回值:TaotaoResult 购物车商品POJO: publicclass CartItem { private Long id; private String title; private Long price; private Integer num; private String image; } @Service publicclass CartServiceImpl implements CartService { @Autowired private ItemService itemService; @Value("${COOKIE_EXPIRE}") private Integer COOKIE_EXPIRE; @Override public TaotaoResult addCart(Long itemId, Integer num, HttpServletRequest request, HttpServletResponse response) { // 1、接收商品id
淘淘商城第九天1第八天内容回顾 1、搜索系统的实现 a)发布搜索服务,pc、移动端都可以调用。 b)在portal中调用服务,实现搜索功能。 2、Solr提供的搜索服务。 a)Solr的集群 b)Solr集群的使用。 c)单机版使用HttpSolrServer。 d)集群版使用CloudSolrServer。 2课程计划 1、商品详情页面的展示 a)伪静态化(使用jsp动态展示) b)添加缓存,redis 2、网页静态化freemaker+nginx 3商品详情页面展示 3.1 分析 在搜索结果中点击商品图片或者title打开商品详情页面。
在Controller中从url中把商品id取出来,根据商品id查询对应的商品详细信息。 商品信息应该是调用服务来获得。需要在taotao-rest中发布服务。 Taotao-rest服务中根据商品id查询商品信息。 需要用到的表: 商品表:tb_item 商品详细信息:tb_item_desc 商品的规格参数:tb_item_param_item 应该发布三个服务:商品基本信息、取商品详情、取商品的规格参数。 3.2 发布服务 3.2.1商品基本信息服务 根据商品id取数据。商品表:tb_item 3.2.1.1 D ao层 使用逆向工程 3.2.1.2 S ervice层 接收商品id,根据商品id查询商品基本信息。返回商品基本信息的pojo——TbItem。 为了减轻数据库的压力,需要添加缓存。由于商品数据比较多,需要把用户访问的数据添加缓存中,同时需要设置商品数据的过期时间,根据时间情况调整,需要把过期时间放到配置文件中。 要设置过期时间redis中只能在key上设置。 使用String数据类型,为了便于分组可以使用“:”分隔的命名方式。 REDIS_ITEM:BASE_INFO:{ITEM_ID} @Service publicclass ItemServiceImpl implements ItemService {
博客系统开发 项 目 管 理 方 案 书 拟稿人: 项目经理: 初拟日期: 修改日期:
目录
1.项目计划·PROJECT PLANNING 1.1 开篇概述 博客是已为大家熟悉多年的流行传媒体了,随着网络时代的发展,博客已经越来越成为人们生活中不可或缺的的一个重要内容,从某种程度上来说,这也充分体现着一种现代化的生活方式。 我们的目标是统筹规划和管理,组织开发出一个基于J2EE技术的多层结构Blog 系统。并使其具有良好的可扩展性和移植性,在传统的博客基础上标新立异,打造一款更适合大众使用的网络交流、传媒、制作和展示的多功能平台。 1.2 系统性能-PRODUCT QUALITY 根据广泛的调查与分析,我们的系统是以各个不同年龄阶段的网民作为主要用户,提供多方面的服务,满足不同人群的需求。 1)基本功能 以传统博客为例,最基本的功能具体到注册、登录、发表日志、留言、回复、上传照片、添加好友、空间排版。 2)“增值”功能 a)为不同年龄阶段的人设置各自富有特色的版式与模块,任其选择 b)音乐上传、在线编辑、搜索、播放器设置 c)多媒体播放、上传、 d)各类文本文件、压缩包等的上传 e)群体交流空间 1.3 成本核算-COST 1)开发团队 预计总人数10人,包括项目经理。 2)时间
6个月 3)金钱 a)开发人员薪酬:¥25万 b)物资(电费、房租、员工饮食补贴等)消耗:¥1万 c)其他费用:¥4万 2.项目建立·ESTABLISHING THE PROJECT 2.1 我们要做的是什么? 开发一款符合大众网络群体的博客系统,为不同年龄阶段的人提供演绎自己独特魅力的平台,写出你的心情,展示你的创作,分享大众精品,为生活增光添彩。 在这里,让所有的人都走在时代的最前面。 2.2 任务分配
篇一:测绘日记 测绘日记 时间:12.6.13 星期三天气晴 今天课上,老师授予了我们很多测绘经验,给我们安排了测绘日程,对于测绘没有深入了解的我们有了很大的帮助。 下午我们去买了测绘工具,开始了测绘前的测绘的练习,对学校设计南北楼院子间的明清柱础和抱鼓石进行了详细的测绘,过程中遇到了很多细节的麻烦,比如条纹不清晰,测绘不精确,不过经过半天的辛苦劳动,终于完成了测绘练习,并做了草图记录。时间:12.6.14星期四天气晴 今天是测绘练习的上板日子,对数据进行汇总,对不全的数据进行补测,所以我们在上板的过程中发现数据不足后及时到设计楼进行了补测,完成后就是画图的过程,中间最难的部分就是画曲线了,样式多样难以画好,不过总体还算不难,这一天就在补测与画图中过去了…时间:12.6.15星期五天气晴 今天仍然是在分工画图中度过了,期间难免遇到困难,我们与其他小组不断地进行交流,交流与合作使我们获益匪浅。时间:12.6.16 星期六天气晴 经过不断地努力,第一个测绘任务基本圆满结束,图纸完成,等待下一个测绘任务下达。这次测绘让我们深入到了实践中去,在实践中了解到前人智慧结晶 的博大精深。时间:12.6.17星期天天气晴 第二个测绘任务下来了,是对方山的定林寺建筑构件的测绘,而且测绘任务由小组人员合作完成,这一天我们并没有急着奔赴方山进行测绘,而是对测绘任务进行了仔细的分析及分工,以及做了测绘前的充分准备。 时间:12.6.18 星期一天气晴 今天一早我们就去方山测绘了,张靖华老师在场指导我们测绘细节,对我们测绘帮助很大,在测绘过程中我们发现测绘的难度很大,对于构建的细节很多都无法考虑周全,数据不是完全准确等,再回来汇总的时候发现了许多难题,比如狮子的画法。也想出了相应的办法,接下来就是补测,对不全的数据进行了补测。、时间:12.6.196.20星期二三天气晴 由于周三要进行一科重要的理论考试,所以在这两天测绘任务暂告一段落,大家静下心来准备考前冲刺。 6.21 星期四 今天进行了测绘上板工作,由于是小组合作,加上大家组与组之间的交流,于是并不算太难,大家一起讨论怎么排版和测量问题,将测绘得到的数据进行了整体,并使用计算机,根据照片中的比例,确定图像中的相关数据,然后进行上板工作。 6.22 星期五 接下来就是测绘图纸的绘制,我们认真地进行了图纸的绘制。最终,经过我们的努力,我们绘制出了两张a2的图。这次测绘让我们了解了中建筑的结构、样式、造型艺术、时代风格等,培养了我们坚持不懈,敢于吃苦以及团队协作的精神,体会到中国古建筑文化的博大精深。篇二:测绘日记 今天是我们第一次测绘,有点激动。到了设计楼那边又觉得好无助,因为不知道如何下手,我去的时候大概是七点多,那时候已经有同学在测量了。我先看了一下他们的步骤和过程,也询问了过程中应该注意的内容,然后我开始找了一个柱础,画出平面图,这突然让我发现手绘能力不能满足要求啊! 平面图上的好多花纹很难变现出来,我拍了照片,准备回去草图画出来。立面图的时候也发现了许多花纹,我将每个面都拍了照片。之后我拍了一些透视,准备画图的时候用。 测量抱鼓石的时候还得排队(许多人在测),所以我就和班级同学一起测量了,一个测量其他
本人在两个中小型软件开发企业工作过几年,也做过几年的项目管理工作。走过一些弯路也得出一些项目管理方面的体会,在此进行总结,希望能够与其他一些项目管理人员或对项目管理有兴趣的同事共同探讨一些中小型项目管理的问题及方法。 大部分中小型软件开发企业的软件项目经常遇到的一些问题可能包括:项目时间紧、项目组成员经常加班;项目需求变更频繁;项目进行过程中可能就有项目团队成员离职或调离到其他项目组;项目重复性建设问题严重,每个项目都需要从框架开始重新开发,难以重用已有项目的成果等等。我觉得通过较好的规划和管理能够在一定程度上提高项目的成功率或者说提高项目的质量,降低开发成本,缩短项目开发时间。 我理解项目管理有两个大的划分方法一是通用的项目管理体系,也就是PMP中所说的5个项目管理过程组9个知识领域44个项目管理过程;二是具体业务领域的按项目生命期划分的各阶段的管理。本文主要从项目生命期各阶段的管理方面进行总结。 我个人分析一个软件项目生命期大体需要经过的流程(这只是我个人的一个划分,有可能不是很全面):可行性分析、需求、设计、开发、测试、实施、维护、总结。 下面我针对每个阶段谈一下自己的体会。 一、可行性分析 一般的项目都是通过外部招标的形式得到的。对于有些公司在应标的时候对项目就要有个取舍。如果在特殊时期为了生存可能只要不是太赔的项目都会尽量承接。 但是一般项目在承接前最好在经济、技术等方面进行可行性分析,而且这种可行性分析最好是管理者、市场、技术等人员都参与,因为市场人员一般不懂(或不通)技术,技术不懂(或不通)市场,因此只有大家在一起共同分析讨论才能够得出比较可行的结果。可行性分析的结果一方面可以作为是否承接项目的依据,另一方面也可以作为承接项目方式或与客户谈判的依据。比如经分析项目工作量很大,如果按标书金额开发有可能会赔,那么可以与用户探讨是否将来能有个二期的项目;另外如果用户要求的时间比较紧,可是经分析很难按标书时间完成,那么也可以和用户同共探讨是否可以在正式签定合同时延长系统交付时间等。当然这些与用户的探讨工作一般是需要公司高层领导出面协调的,有时单独靠项目组
软件开发项目管理 ?启动阶段 这个阶段的工作目的是决定一个项目是否需要启动。为了达到这个目的,首先要明确项目的总体战略目标,对项目的需要建立认同。即确定到底需要做什么、开发什么产品或提供什么服务,以及需要解决什么样的问题和需要满足客户或市场的什么要求等,同时还要总结项目工作的范围、所需资源、大约开支、各种风险,以及该项目不执行的其他替代选择等。这些代表了对整个项目目标从战略角度和宏观层次所进行的分析,通过项目的意向书总结出来,由此确证客户或项目发起人和赞助者的要求与期望,并帮助他们判定项目是否上马。项目意向总结书的通过及项目被批准上马形成了这个项目的起始点。 ?计划阶段 这个阶段的工作是为整个项目做计划。项目开始后,首先要确定项目的具体范围,明确定出项目到底要做什么,总结、归纳并定出产品的功能。然后进一步制定项目的计划,列出每项具体工作,并建立所有工作任务的重要性及顺序;确定每项工作的执行人和所需资源;根据人员的配置和能力设定各项工作和整个项目的完成时间表。 ?执行阶段 这个阶段的工作是通过执行项目的计划来完成项目的任务。它包括落实一切所需资源,如:人员、设备、费用、技术、信息,由管理者领导全体项目参与者开展各项工作。同时跟踪各项具体工作和整个项目的进度,定期向全体项目人员及项目的发起人报告项目状态。 ?控制阶段 这个阶段的工作是确证项目工作的结果符合项目的计划。它通过对项目结果的衡量和审核,与项目计划所期望的结果进行比较,找出实际结果与计划的差别,并制定处理措施。这个阶段的工作还包括对项目进程中出现的任何更改要求进行审核和批准。同时调解项目进程中出现的各种问题,如:对缺乏的资源的补偿调节;对项目的进度表及各项具体工作的优先级或顺序的修订。 ?结束阶段 这个阶段的工作是确保项目的最终结果或提交物达到计划的要求,并对完成的结果作可接受的确认。还包括在项目完成之后的收尾工作,对整个项目的经历进行总结,修订项目文档,用户培训等。
周一到周三,我的领导亲自操刀,完成了一项小小的功能。 功能虽小,但从构思到实现,再到稳定运行,几乎包含了软件开发的全过程。 这个过程完美的展示了编写一段优秀的代码需要考虑多少东西,我记下来给大家分享一下。 需求很简单: 分析各类日志文件(如:Oracle的错误日志)的内容,并将其中符合条件的行转发到Syslog。 需求分析: 读取日志并过滤内容比较简单,这个需求的关键点在于:必须考虑时效性和性能。 时效性,通常日志是不断增长的,要求程序尽快分析新增日志。 性能,要求程序能够对日志做增量分析,以免去不必要的I/O开销。 制定方案: 根据需求分析得到的功能需求和非功能需求,我们一致认为,需要一种手段来实时获取文件中的新增内容。 在Unix/Linux上,tail指令可以实现这种功能。 我们调查tail指令后发现一个严重的问题:
tail无法处理日志的切换。 这一问题否决了我们使用unix已有指令写shell的想法,于是决定自己编写一个类似tail的小工具。 在实现方案上,可以采用C或者Java两种方式,基于如下考虑: 1、日志在Unix/Linux上的情况占80%以上 2、目标主机上不一定具备java环境 3、要求对目标主机的资源消耗尽量小 因此,决定采用C来做实现,由于项目组人员以JAVA为主,所以领导亲自上阵了。 技术预演: 技术预演是为了验证方案的可行性,如果方案的设想因为技术原因无法实现,则需要修改方案。 这个小功能的技术预演主要包括: 1、分析tail源码,了解tail实时获取文件增量的原理。 2、调查C中如何发送Syslog 实现:
基本功能: 领导最初认为这个功能很简单,不会超过30行代码,而基本功能也确实很简单。 功能增强: 支持打开多个文件, 支持日志切换, 支持使用正则表达式对行进行过滤, 支持通过命令行参数制定Syslog输出的Severity和Facility 测试: 将程序编译后挂到实际环境中测试,很快发现一些问题, 比如: 对参数的异常情况考虑不足 文件切换有两种模式,需要兼容(一种inode变,一种不变) 需要检查目标文件是否存在、是否为普通文本文件(二进制文件无法处理、目录也可以当做文件打开) 程序修正: 解决测试中遇到的问题, 增加文件类型判断、兼容文件切换模式、参数错误时输出Usage等
软件开发实习日志日记 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】
D a i l y w o r k1 第一次是来面试,当时感觉不怎么好,面试的人问了一些问题有些没回答上来,这并不奇怪,C#自己学习了2个月,然后就没怎么用,回答不上我觉得可以理解。没想到还能第二次来到公司,由于对环境还比较陌生,所以今天大概熟悉了一点,成都这边有50多个员工,属于研发中心,主要从事无线微波得较大型的设备的再加工,听同事说以前在北京,但由于北京人力资源太贵所以来到成都,这听起来怎么像是在压榨的感觉啊,没关系,只是来实习而已。 对于今天的第一个小任务,要求:界面、数据压入堆栈、简单冒泡排序实现数据有序输出、堆排序输出。让我快速地熟悉了C#,从界面到后台都得到了加强,此外在实现过程中对用到的冒泡排序和堆排序有了更深的理解,并能用C#熟练的实现。 Daily work 2 今天对昨天的实例进行了改进和提高,将堆排序和冒泡排序封装在一个动态链接库中,提供函数调用和事件委托。此外加入XML进行配置,在XML中存入相关配置信息,提供一个单独的XmlClass对其进行操作,加深了对xml的理解。为增加程序的性能,采用简单工厂模式对其客户端和算法操作进行分离,有很好的可扩展性,对于C#的动态链接库和XML配置不怎么熟悉,花了很长一段时间看书和网上查资料,才开始动手写代码,不过感觉还是很快,因为自己有编程的能力,可以说掌握了一种快速编程的方法,所以就能驾轻就熟。 Dailywork 3 今天采用抽象工厂模式对实例进行改进,以达到动态加载算法实例,抽象工厂模式属于设计模式中的内容,自己在学习视频的时候注意到了,所以之前就买
Daily work 1 第一次是来面试,当时感觉不怎么好,面试的人问了一些问题有些没回答上来,这并不奇怪,C#自己学习了2个月,然后就没怎么用,回答不上我觉得可以理解。没想到还能第二次来到公司,由于对环境还比较陌生,所以今天大概熟悉了一点,成都这边有50多个员工,属于研发中心,主要从事无线微波得较大型的设备的再加工,听同事说以前在北京,但由于北京人力资源太贵所以来到成都,这听起来怎么像是在压榨的感觉啊,没关系,只是来实习而已。 对于今天的第一个小任务,要求:界面、数据压入堆栈、简单冒泡排序实现数据有序输出、堆排序输出。让我快速地熟悉了C#,从界面到后台都得到了加强,此外在实现过程中对用到的冒泡排序和堆排序有了更深的理解,并能用C#熟练的实现。 Daily work 2 今天对昨天的实例进行了改进和提高,将堆排序和冒泡排序封装在一个动态链接库中,提供函数调用和事件委托。此外加入XML进行配置,在XML中存入相关配置信息,提供一个单独的XmlClass对其进行操作,加深了对xml的理解。为增加程序的性能,采用简单工厂模式对其客户端和算法操作进行分离,有很好的可扩展性,对于C#的动态链接库和XML配置不怎么熟悉,花了很长一段时间看书和网上查资料,才开始动手写代码,不过感觉还是很快,因为自己有编程的能力,可以说掌握了一种快速编程的方法,所以就能驾轻就熟。 Dailywork 3 今天采用抽象工厂模式对实例进行改进,以达到动态加载算法实例,抽象工厂模式属于设计模式中的内容,自己在学习视频的时候注意到了,所以之前就买了本大话设计模式来学习,可以说了解了大部分设计模式。今天遇到后自己心里也有底,温故一下书就知道怎么做了,可以说这是我学习的方法。 针对以上,在dll中提供一个接口,两个算法都继承了该接口,对于该dll的操作都通过接口ISort进行,此外,修改工厂为抽象工厂,提供一个接口创建算法,在算法中返回ISort实例,在主函数中使用该实例进行对应的排序算法操作,充分显示了抽象工厂的作用,本例子将反射和抽象工厂模式结合,增加了程序的可扩展性和可维护性。 Dailywork4 由于自己编程能力还算可以吧,所以软件组的老大就叫我加入开始做一些这次项目的东西,说了一句“我可是没把你当实习生哦。”,这话一听当时感觉还好,不过后来一想,我却是吃亏了,他不把我当实习生但给我的却是实习生工资,这点有点想不过去,不过没关系,实习嘛就是学习,有基本工资也不错了,关键的公司提供的条件那是在学校里所得不到的:商业性的问题。 今天将上述实例的方法用到本次项目中,开始项目中的一些任务。仍然使用抽象工厂模式,将自定义窗体封装到类库中,将窗体的控件预留到外部进行实施定义;在XML文件中配置窗体的实际参数,利用反射按从XML中读出的参数动态加载窗体。将上述的实例方法运用到了实际项目中。 Dailywork5 昨天的任务基本已完成,今天温习了一下加深了对知识的理解,可以说掌握得比较牢固了,今天又有新的任务,可以说每天都在进步。 按组长要求编写RankStyle=Group时的窗体排列方式,在XML中配置控件或窗体的参数,利用XML读接口从XML中读出参数,为了使程序具有灵活性,在组长的提示下将窗体的配置按照窗体的Name属性进行配置,之前是利用字段的方式写在XML中,但是组长说这样的话在程序中查找不方便,可我觉得没什么啊,当然了,对于我这个没有工作经验的人来说看什么都是可以的,所以要多学习学习。在FormControl中利用双层循环将控件容器中的控件按