小组地址:失业者学习园地
介绍
微博是一个时下很火热的web2.0应用,使人们能随时随地的用手机或电脑获取信息和发布信息,基本功能比较简单,但要做细化功能和提高性能也是需要相当多的经验,所以想让大家通过自己制作一个微博系统来锻炼web开发能力及项目经验。
什么是微博:http://help.sina.com.cn/i/232/482_12.html
程序员的门槛现在越来越低,85后90后现在都开始进入这行了,其实真正要把代码写好,需要很多的经验和技巧,是个长期积累的过程。微博这个项目没有太高深的技术,就是大家已经学过的asp.net,sqlserver,HTML等,主要是通过这个项目锻炼一下编程的各种基本功,巩固已经掌握的知识,稍微全面的了解一个小型项目的开发流程。
本活动可培养如下能力
1、通过CodePlex的VSTF代码管理,练习源代码管理器的使用。
2、通过分析新浪微博的功能,锻炼业务分析能力。
3、通过编写各种文档,增强对Word的使用熟练程度。
4、通过编写用例分析文档,锻炼需求分析能力及编写有效用例的能力。
5、通过编写概要设计文档和详细设计文档锻炼文档书写能力和基本的设计能力。
6、通过画分析和设计阶段的UML图锻炼UML能力及提高Visio使用熟练程度。
7、通过设计数据库增强数据库的设计能力,以及优化数据库查询的能力。
8、通过简单的界面设计锻炼css布局的能力及css,html的熟悉程度。
9、通过实现页面的ajax功能提高大规模js代码编写能力以及ajax库的熟悉程度。
10、通过单元测试培养重视代码质量的观念以及提高单元测试的经验和技巧。
11、通过服务端代码的实现锻炼asp.net的熟练程度以及增强.NET类库的熟悉程度。
12、通过解决排查测试出来的问题锻炼代码调试的能力及代码重构的能力。
活动过程
1、了解微博功能
注册新浪微博,分析其功能,罗列出功能列表,并知道每个功能对最终用户的价值。
输出:《新浪微博功能分析》《XX微博逻辑设计》
前者是对新浪微博的功能分析结果,后者是在前者的基础上进行裁剪或者改进定下来将要做的微博系统功能列表及每个功能的逻辑,用户看到逻辑设计后就可以知道每个功能怎么用。
2、在CodePlex注册项目
在codeplex注册一个开源项目,以后所有相关文档和代码都放在上面,源码和文档的目录结构要设计清晰合理。
输出:项目的名字,codeplex的项目地址
3、写用例分析文档和功能测试方案
查阅相关书籍或者网络资料,了解如何写用例分析文档及注意事项,根据第一步对微博功能的了解,写出用例分析文档。
用例分析文档有了之后,要根据它制定功能测试方案,比如用户如何注册账户,如何发微博,每一个操作步骤,每一步的预期,都写清楚,关于如何写测试用例可查阅相关资料。
输出:《XX微博用例分析文档》《功能测试方案》
格式要求用word,要生成目录索引,页眉页脚,格式要求统一专业。
4、概要设计和技术方案
根据逻辑设计和用例分析文档,做出系统的概要设计,大概用到哪些类,类的公开成员,类之间的关系,关键用例的序列图。并在此阶段确定出技术方案,服务端使用什么语言和框架,使用什么客户端ajax框架,数据库使用什么,需要不需要第三方库以及大概的主机需求,硬件方案,容量估算等。
输出:《XX微博概要设计》《XX微博技术方案》
UML图使用visio画,UML知识可参考网络文档,使用最多的是类图,序列图和组件图。
5、详细设计
细化概要设计,把类的私有成员细化出来,关键用例的序列图,关键算法的描述,性能考虑等写出来,服务所需要的配置项,需要设计哪些性能计数器,哪些环节要生成日志,日志的格式约定,哪些地方使用缓存,平台有哪些角色,每个角色的权限是什么。
输出:《XX微博详细设计》
6、数据库设计
根据详细设计做出数据库设计文档,表,索引及主要的存储过程,注意表,索引和存储过程的命名规则要统一,并分析出最常用的DB操作的性能消耗,以及如何控制。
输出:《XX微博数据库设计》,建库脚本
7、界面设计及编码
用HTML和CSS进行页面的布局,不需要搞太漂亮的图片,主要锻炼HTML+CSS的使用能力,模仿一些比较成熟的网站布局就行,看能否模仿出来。
通过前期的准备,用VS2008进行编码,包括HTML,JAVASCRIPT,C#,SQL,CSS等,在编码的过程中同时审视前期做的设计和分析是否有遗漏或者错误,并同步更新文档。
输出:代码。
8、单元测试
在编码过程中要对c#代码中的业务逻辑进行单元测试,找一些单元测试相关的最佳实践资料来学习,单元测试可能会有一些困难,遇到困难可以在相关社区求助,锻炼利用网络解决问题的能力。
输出:单元测试项目及代码测试覆盖率统计
9、功能测试
自己作为一个使用者根据先前制定的测似方案对最终的代码进行测试,包括在各种浏览器好分辨率下的兼容性测试。
输出:《XX微博功能测试文档》
10、部署文档
把代码输出打包,编写用户使用帮助,管理员配置说明,运行监控及维护方法等。
输出:xxx微博.rar,《XX微博使用帮助》,《XX微博部署及维护说明》
在每一个阶段性里程碑的地方,可以把输出拿出来大家讨论一下,然后再往下进行,在进行的过程中可以把自己认为不错的资料转贴到小组里,分享给其它同学,遇到问题也可以在小组里进行讨论,最可怕的就是什么问题都没有。