Transcript 实践部分介绍
课程实践部分
教学目的
加深对软件工程理论和方法的理解,通过亲自参
与一个中等规模软件开发的完整过程,建立对软件
开发过程和软件开发活动直观和感性的认识
2012
掌握一组软件工程工具的操作和使用方法
培养团队合作精神,发现、分析和解决问题的能力
规范化软件开发的习惯
Software Engineering Group
1
实践部分实施方式
实施方式:
全班分成若干个团队,并以团队为单位完成
一个中等规模软件系统从需求分析到测试交付的完
整过程。
要求每个团队:
遵循软件开发过程的定义,独立完成需求分析、
设计与建模、编码、测试、配置与交付、过程管
理等软件工程关键活动
熟练使用各种工具完成上述关键活动
最终提交软件系统的代码、文档和可运行系统
项目实践-项目来源
竞赛项目(鼓励选项)
课程提供项目
自选项目(需审核)
以往课程作业项目重新整理、其他课程共享项目
但需按软件工程课程实践要求提交相应内容
新选项目开发
工具简单介绍
Eclipse平台
Jazz协同开发平台
RRC(Rational Requirement Composer)
RTC (Ration Team Concert)
RSA (Rational Software Architect)
RQM(Rational Quality Manager)
Github
Eclipse平台
Eclipse 是一个开放源代码的、基于 Java 的可
扩展开发平台。就其本身而言,它只是一个框架
和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse 附带了一个标准的插件集,
包括 Java 开发工具(Java Development Tools
,JDT)
Jazz协同开发平台
Jazz 是 IBM Rational 面向软件交付技术的下一
代协作平台。
Jazz 平台经过精心设计,专门面向全球化和跨
地域团队开发,将改变人们协作构建软件的方式
——提高软件交付的协作性、效率和透明度。
您可以将 Jazz 技术视为一个可扩展的框架,能
动态地集成和同步与软件开发项目关联的人员、
流程和资产。
Rational Requirement Composer
IBM® Rational® Requirements Composer 软件
可以促进涉众与开发团队之间关于需求定义和需
求管理之间的交流。它使得涉众可以使用各种可
视化及基于文本的技术来进行同一语境协作,以
捕捉商业目标并精确化软件需求。
Rational Software Architect
Rational Software Architect是IBM软件开发平台
的一部分,是IBM在2003年二月并购Rational以
来,首次发布的Rational产品。
该产品(自称)是改进过的软件开发平台在集成
和易用性上达到一个新的层次,这将会让使用
IBM产品工作的开发者感到满意。
Ration Team Concert
IBM Rational Team Concert (RTC) 是构建在
Jazz 平台上的第一个商用产品、一个协作式的
软件开发环境,它包含了集成的源代码控制、工
作项管理和构建管理等功能。
IBM Rational Team Concert 是一个可实时相互
协作的软件交付环境,可以帮助跨地域分布的开
发团队简化协作开发过程,并使其软件交付过程
实现自动化管理。
Rational Quality Manager
基于 Web 的工具
提供了复杂的测试规划与测试评价管理方法。
课程辅助设施
FTP,工具介绍及下载:
ftp://SEC2014:[email protected]
《软件工程》课程网站
http://sec.nju.edu.cn:8080/SEC/introduction1.html
2012
助教在线支持
Software Engineering Group
工具介绍及下载:
ftp://SEC2014:[email protected]
2012
Software Engineering Group
课程网站
课程网站资源
2012
Software Engineering Group
2012
Software Engineering Group
2012
Software Engineering Group
课程辅助设施
FTP,工具介绍及下载:
ftp://SEC2014:[email protected]
《软件工程》课程网站
http://sec.nju.edu.cn:8080/SEC/introduction1.html
软件工程组 网站
http://seg.nju.edu.cn:8280/
助教在线支持
冬雨辰 15195907609 [email protected]
鲍铁匀 15295510056 [email protected]
2012
Software Engineering Group
提供项目
REQ01:简易日记管理器
参考Microsoft word,做一个简易日记管理器,要求有标题栏、菜单
栏、常用工具栏、文本编辑区和已有日记的目录显示区。
文本编辑区可分页,并自动显示当天日期等,格式编排自定。目录
显示区按时间顺序显示已有日记,并且点击任意一个日记课相应在
文本编辑区显示日记内容。
功能包括文件处理如新建、打开、保存、另存为,编辑功能如剪切
、复制、粘贴、查找、全选等,工具如日期插入、图片插入、文字
放大或缩小、文字颜色选择等功能。要求在文字编辑的同时会显示
光标的位置,总页数和当前所在页数,当前字数统计等;有快捷键
可以实现翻页功能。每个功能都可以选择是否在工具栏上显示, 并
在菜单中标志出来。其他功能可自定义。
其他要求:各个菜单必须包括上面提到的功能,并且菜单栏不少于5
个选项,每个选项下拉不少于5个功能,除此外还要求主界面上有不
少于5个快捷键帮助文本编辑。所有功能不得重复,超过规定个数可
以根据实现的效果加分。
2009
Software Engineering Group
19
REQ02:超市收银系统
设计思路主要源于以超市收银业务,该系统可以建立商品信息文件,
商品信息包括商品编号、商品名、商品类别、商品数量、商品价格等
。
系统登录:运行系统时,收银员应输入姓名(或编号)及密码,验证
后方可使用系统。
收银操作:收银员逐条输入商品编号及数量,系统自动计算金额,输
入完毕后显示应付款,当输入实收额后,计算出找赎值。交易完成后
按一定格式显示回单(格式参照一般超市中的打印小票)。 保存所显
示的回单。如果,买家持有会员卡,则记录本次消费,并且买家将根
据卡的类别享受相应优惠。
自动按销售情况更新商品信息文件中的数据。
另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。如
果一个未持卡顾客一次购物满X元,可为其发放一张会员卡,以后在该
商场购物可向Y折优惠。
2009
Software Engineering Group
20
REQ03:图书馆管理系统
某图书馆允许每个学生同时只能借得一本图书且借阅时间不得超出3个
月,现所有学生借阅的图书的记录均存于流通文件中,每一记录中包括
书号、借书人学号,应还书日期。书库文件中记录书名、书号、作者、
出版社、出版日期、藏书数。
1.借书功能:要求输入借书人学号及借书日期,如借书人的前面借的
书尚未归还则打印“You should Return first!”,同时不允许借书;反之
则办理借书手续,即:在对应文件中记录借书人学号及借书日期、应还
书日期,同时在书库文件中将所借书的藏书数-1。
2.还书功能:即根据书号及还书日期从流通文件中删去借书人的借书
记录,如果书已越期则打印“Time Passed!”;同时对书库文件中将所
还的书藏书数+1。
3.可显示所有借书过期而未还者的信息;
4.查找学号的功能要求采用折半查找的方法实现,并打印查询结果
5.退出程序
2009
Software Engineering Group
21
REQ04:城市路径建议及查询系统
城市路径建议及查询系统可以帮助人们查询某次出行的
路径,当你找到一条你认为合适的路径的时候,你可以
通过这个系统来查看人们对这条路径的评价。也许你会
得到一些积极的评论:这条路上公共设施完善,这条路
上的斑马线设置的很合理,这条路很适合车辆通行;当
然,也可能会有一些负面的评价,例如:某个地段交通
在某时段容易瘫痪,某个地段需要绕路,某个地方夜里
不安全等等。使用者可以根据这些意见来选择出行的路
线。
2009
Software Engineering Group
22
REQ04:城市路径建议及查询系统
1.用户能够提供个人的信息。提供建议的用户和寻求建
议的旅行者都需要提供自己的个人信息。
2.用户能够给出个人的建议。用户可以对某个地点提出
自己的看法。这些看法可以是文本的,也可以是多媒体
的。
3.用户能够通过系统查询路径。用户可以通过输入出发
地和目的地来获得一条可能的路径。同时用户可以对路
径做一些限制,系统可以返回一条尽可能合理的满足用
户需求的路径。
4.用户能够查询关于某条路径的建议。用户在获得路径
以后,可以通过系统查询关于此路径的评价。同时系统
能够根据一定的要求对意见进行筛选。
2012
Software Engineering Group
REQ05:分布式团队开发认知工具
目前的软件开发团队已经不仅仅局限于某个单一的团体。某
些软件的开发可能需要依靠分布在世界各地的多个团队来完
成。在这种情况下,开发团队间彼此的交流就 显得十分重要
。在设计,执行,Bug处理,整体进度等方面,各个团队需要
保持认知上的一致性。设计这个工具的目的,就是能够让开
发者能够尽快的了解项目上 最近发生的变化,合作者的行动
,以帮助各个团队更好的交流,完成合作的目的。对于项目
变化的描述,可以是显示在某个网页上的,也可以显示在某
个独立的客户 端上,或者是其他的设备。系统应该是能够将
基本的开发信息显示出来,开发者能够轻易的发现自己想要
的信息并且通过系统来查询该信息的具体内容。 项目要求:
1.系统应该是运行在尽可能小的干扰下的。
2.系统的可靠性必须得到保证。
3.关于项目变化的输入和查询都应该较为便捷。
2012
Software Engineering Group
24
REQ06:虚拟在线读书网
为使广大喜欢在线看书的同学能够小试笔杆,切磋文笔技艺,同时
交流各自喜欢的书籍和看书心得,现在要求做一个虚拟的在线看书
写书的网站,仅供内部交流和使用。主要功能描述:
用户分为不同身份:可以是读者也可以是作家,另有一个专用账号
属于管理员。
作家及其简介在主页面显示,按作家得到的分数总和多少排列。点
击作家名可以进入作家的个人主页,主页上有作家发表的各种文章
,按书名排列,并显示发表的时 间和点击数。主页面上有搜索功
能,可以按题目或作者名称查询。主页面还要求有能根据读者的读
书记录推荐相关或类似书籍的功能等,具体自定义。
2012
Software Engineering Group
25
REQ06:虚拟在线读书网
读者可以对自己的相关资料进行管理,包括读书的权利可以通过某
个版面交易,交易完成后积分和读书权应相应发生改变。读者可以
给作家留言,打分,每次留言读 者可以得到积分。各书可由作者决
定价钱(即所耗积分数),读者付给积分后就可以看到内容,并且
以后都可以看到。读者可以对某本书进行举报,但必须说明理 由。
作者发表文章就可以得到积分,并且得分总和超过一定数值可以得
到奖励,得分数每隔一个月清零 一次,然后重新计算。
作家可以行使与读者一样的看书过程,但对自己的书只能看不能做
评价或打分,但可以回复读者的留言,同时作家可以管理自己的书
籍,包括写简介,定价钱和编辑修改等等。
管理员无需积分等即可看到所有文章,但不可参与任何打分和交易
等活动。管理员可以根据举报数决定删除某本书,并在原来的书本
位置显示删除原因。
2012
Software Engineering Group
REQ07:网络图片管理系统
基于网络的图片管理系统,用户可以通过该系统上传,
分享,浏览,评论,美化自己或者好友的图片。
1.用户注册与登录
2.个人资料修改
3.添加好友功能
4.创建相册和子相册。
5.上传图片到指定相册,服务器处理并存至特定文件夹
,同时用户设定是否允许其他人浏览,默认为好友间才
能浏览。
6.可以分享好友的图片。
7.可以对自己的图片进行简单的美化操作。
8.添加/取消好友的功能
9.可以在图片下添加评论并实现类似人人网的圈人功能
。
2012
Software Engineering Group
27
REQ08:外卖订餐系统
餐饮网站、来电订餐配送系统订餐网站
功能要求:
1、买家
1)会员注册、登录、查看订餐记录、修改资料
和密码、管理收餐地址;
2)显示菜单、在线订餐,支持不同的折扣率;
3)购物篮、在线结算;
4)会员查看订单的送餐的状态。
2012
Software Engineering Group
28
REQ08:外卖订餐系统
2、卖家
1)配送订单:订餐管理、更改订餐状态、订餐、送餐归类;
2)食品信息:发布、修改、编辑食品项目、食品配料及价格,
可以上架和下架;
3)会员信息:会员信息的录入和管理,分大客户和个人客户,
大客户可以设置服务专员;
4)图文内容:网站一些介绍性内容的发布和管理;
5)字典设置:可以设置以下内容:会员分类、食品分类、配送
范围、图文分类、送餐方式、配送时间、送餐时间、会员组等。
6)系统设置:可以设置会员卡信息、在线订餐的折扣率及送餐
费用等。另外可以管理后台管理员和客户端用户;修改后台登录
密码。
2012
Software Engineering Group
实践项目选择和分组
本次课程需要完成如下的任务:
学生自由组合完成分组(3人以上,不超过6人)
小组内选出组长
每个小组选定项目,下课前提交小组构成表格、
组长联系方式、确定项目
熟悉课程各个资源网站
Software Engineering Group
30
分组格式
2012
Software Engineering Group
2012
Software Engineering Group
如何评分
软件工程实践部分满分50分,其中项目组基础
成绩60%,个人贡献40%.
个人成绩(总分50分)=项目组基础分(30分)
+个人贡献分(20分)
2012
Software Engineering Group
如何评分
考核内容:
评分原则:
2012
项目开发提交制品:需求分析报告、设计报告、测试计划、
测试报告、源代码、最终系统、用户手册
项目开发进展演讲
系统演示
小组:项目开发整体状况(项目管理、项目完备度、系统成
熟度)
个人:项目开发过程参与程度与贡献(角色分工、提交内容
、演讲、演示)
Software Engineering Group
谢谢!