软件工程课件:00-Welcome_第1页
软件工程课件:00-Welcome_第2页
软件工程课件:00-Welcome_第3页
软件工程课件:00-Welcome_第4页
软件工程课件:00-Welcome_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Introduction to Software EngineeringObjective #1: To Understand Software 2As SystemsNumber of changes indexed by developer (columns) and module(rows)The network of classes in Tomcat serverThe family of programming languages4Millions of programming languagesInherent DifficultiesLifecycleMark Benioff,

2、 CEO, SalesforceParadigm ShiftsObjective #2: To Build Software 5As Engineers67Programmer in 1940sApple LisaPowerfulIDEThe power of tools8The Cathedral of the Holy Cross and Saint Eulalia巴塞罗那圣家族大教堂 (1882-)The challenge of scale9行家里手工程师深谋远虑架构师运筹帷幄“总师”熟练掌握程序设计语言软件开发环境软件开发工具熟练掌握软件开发方法系统分析、设计、测试与验证技术理解掌握

3、项目计划与管理软件过程控制纸上得来终觉浅, 绝知此事要躬行Course Outline10Towards Good CodeVersionControlCodingStylexUnitTowards Good SystemDesignRequirementsTestingProjectProcessVoice from IndustrySoftware-as-a-ServiceProjectPractice, Practice, PracticeAgenda11TopicTopic1. 17/09Introduction9. 12/11Design2. 24/09Process 10. 19/

4、113. 01/1011. 26/11Testing4. 08/10Coding12. 03/125. 15/10 xUnit13. 10/12Internet6. 22/10Project14. 17/12Seminar7. 29/10Requirements15. 24/12Project Presentation8. 05/1116. 31/12Final examGradingOne Project60%Final Exam20%Exercise 20%计蒜课Git (WK2)- 4%RailgunCoverage-based testing (WK5)- 4%网络学堂需求分析 (WK

5、7)- 4%软件设计 (WK9)- 4% RailgunBlack-box testing (WK12) - 4%12ProjectTeam work!14* 3-5 students in each team* 4-5 teams for each projectProjectTeam 1Team 2Team 3Team 1Team 2Team 3Team 1Team 2Team 1Team 2PRJ1PRJ2PRJ7PRJ8.Week 11-15产品交付Week 02-10迭代开发Week 01项目准备Process 1509.17发布大作业题目09.18提交大作业分组及选题09.22公布

6、分组名单,各组开始熟悉JIRA项目管理平台09.24启动Sprint 110.08启动Sprint 210.22启动Sprint 311.05启动Sprint 411.19启动Sprint 512.17提交测试、项目文档12.24课堂展示系统部署Week11:过程及原型系统功能评价Week16:测试、文档及最终评价每周固定与助教进行例会交流一次每两周与用户当面讨论一次Project Management采用JIRA Agile管理每周项目计划和进度。采用JIRA Stash(Git企业版)进行代码版本控制,问题跟踪和协同开发。遵照相关的代码编写规范,采用代码规范检查工具每周检查。采用单元测试框

7、架,编制测试代码。16Documentation迭代开发计划与报告根据项目管理要求,在项目开发过程中,定期制定Sprint开发计划,每周生成进度图表和报告,在周例会中提交讨论。分析设计报告功能需求体系结构设计模块之间的主要接口设计数据库设计测试报告针对特定选取的模块,采用xUnit框架,实现单元测试,每周形成测试覆盖率分析报告。根据项目特定的要求,完成系统测试及性能测试,并形成测试报告。17Grading18Grading19过程评价中,根据每个同学的实际贡献,个人成绩在小组成绩基础上可上下浮动20%(不超过满分)。课堂演示为附加成绩,在大作业总成绩中加分,不超过5分。Projects20题目

8、名称用户助教组数PRJ1学生组织微信公众号辅助管理平台校团委罗成4PRJ2空气质量预报(安卓应用)清华大学信息国家实验室生物信息学部黄军4PRJ3实验室物资管理系统(二期)清华大学交叉技术研究院黄军4PRJ4机器学习实验平台自定义项目(许昊文)王钧奕4PRJ5中小学趣味编程计蒜课林子钏4PRJ6人人贷业务数据报表平台人人贷王轩4PRJ7基于安卓系统的车载蓝牙应用苏州紫荆清远新能源汽车技术有限公司张超5PRJ8组成原理挑战课程组成原理课程-软件工程联合大作业王钧奕4项目介绍:PRJ7 基于安卓系统的车载蓝牙应用苏州紫荆清远新能源汽车技术有限公司用户代表:李鹏负责助教:张超组数上限:五组基于安卓系

9、统的车载蓝牙应用关于紫荆清远15.4英寸液晶屏基于安卓操作系统3维专业汽车界面智能语音控制导航与媒体功能车载蓝牙应用车极紫荆清远汽车智能平台24蓝牙免提协议2G/3G通话协议安全舒适25功能要求电话地址簿音频拨打接听挂断拒接滤噪(*)同步存储检索传输上一首下一首用户交互界面26蓝牙协议Android 4.xAndroid 5.0HFP (Hand Free Profile)HostHost & ClientPBAP (Phone Book Access Profile)HostHost & ClientA2DP (Advanced Audio Distribution Profile)Sour

10、ceSource & Sink27软件编译环境 (提供虚拟机)Ubuntu 14.04GCC交叉编译工具链Linux 与Android源代码硬件平台开发板,包括电源线,串口线,HDMI/VGA转换器(提供)VGA显示器(自配)智能手机(自配)开发环境28项目介绍:PRJ1 学生组织微信公众号辅助管理平台微信辅助管理平台项目介绍项目背景目前由清华大学下属部门、学生组织和学生社团管理的公众微信号超过150个,数量还在不断增长中。对于这些隶属于校内组织的公众号,根据规定需要登记备案相关的信息,便于日常的联系和管理。同时对于这些公众号平时的运营情况和浏览数据,学校也希望有一个数字化的分析。不仅局限于学

11、校,需要管理多个微信公众号的集团、企业、政府部门,也有类似的产品需求。项目要求实现校内学生组织开设微信公众号过程中,信息填写、修改、确认、审批、备案、通知等的完整流程。实现对管理的微信公众号文章内容和浏览数据(阅读量、点赞数)的自动化收集* 、存储对收集的公众号和文章的浏览数据的整理、分析、导出、可视化呈现微信文章和浏览数据的抓取不作为项目的重点,可通过使用相关合作平台的api()等方式实现微信辅助管理平台31申请备案流程账号密码登录1填写微信公众号备案表2确认备案申请3申请审批通过4平台推送通知5公众号帐号名标题发布时间阅读数点赞数清华大学藤影荷声tyhs2014清华大学党委书记陈旭:201

12、5级大一新生成才报告2015-09-14 16:49:45997020松鹤山房TsInsight清华大学百年校庆的时候在大礼堂下挖出了什么?2015-09-14 18:21:18721738清华大学学生会THU-xueshenghui外联福利 | 无需排队, 全新的扫码打印2015-09-14 19:16:05392442清华大学清新时报qingxintimes来辩央视为什么会使用王源宗的劳动成果?2015-09-14 23:19:14304424清小华tsingerhua新生福利!清华十大热门文化素质核心课2015-09-14 22:44:14255910清华大学小研在线xiaoyanthu

13、【校友故事】朱镕基大学生活往事2015-09-14 19:22:34177713数据自动收集数据来源微信辅助管理平台32数据分析、整理数据可视化微信辅助管理平台33项目介绍:PRJ2 空气质量预报空气污染天气预报手机应用清华大学信息科学与技术国家实验室生物信息学部35闵旭 minxueric陈宁 ningchen责任助教: 黄军 hjhjw1991项目简介Android客户端/服务端面向普通用户,展示天气预报和空气污染预测出门带不带雨伞,戴多少口罩,中秋在哪看到的月亮最清楚,App告诉你!功能:天气预报污染预测位置感知36天气预报Server从多个数据源实时抓取天气预报和污染数据MongoDB

14、数据库需求方提供一个数据源,其余源自行选择Client展示实时天气预报37污染预测Server利用抓取的数据进行预测模型的训练存储训练结果实时预测,定期训练预测模型由需求方提供Client展示未来48小时污染预测38服务端工作流39位置感知Server根据地点参数返回不同的数据Client定位当前位置按位置查看天气预报污染信息40项目介绍:PRJ3 实验室物资管理系统(二期)交叉信息研究院资源管理平台(二期)交叉信息研究院提供,遗产项目开发辅助叉院的学习和科研物资的管理和使用一期已完成物资的借用归还、账号管理、资源信息管理二期包括的功能点:设备维修记录资产采销管理数据标签和邮件通知LDAP账号

15、对接42用户代表:尹伟 yw 责任助教:黄军 hjhjw1991一期项目Aglaia简介43设备维修记录用户可以提交设备故障报告包括故障设备信息、故障现象等管理员需要在处理后提交处理结果报告报告的内容包括故障现象、故障原因和解决办法设备维修记录只允许管理员和用户查看44设备报修资产采销管理设备采购记录用户或管理员可以申请设备采购,填写采购信息用户或管理员可以查看采购进度设备销毁记录管理员可以记录设备被销毁的信息45申请采购销毁数据标签和邮件通知数据标签用户可以标记含有重要数据的虚拟机用户可以筛选查看有数据标签的虚拟机重要数据处理:支持数据以Excel表的形式导入和导出邮件通知选定设备,发送邮件

16、通知给设备关联的用户46LDAP账号对接使用现有的LDAP服务器实现对本系统的账号和密码的验证功能47选择我们你将拥有:详尽的开发和部署文档,包括源代码原开发组人员专题辅导一个高大上的成品系统你将收获:Web应用敏捷开发能力挑战遗产系统维护和扩展应对需求变化的超强抗压力转移压力到原开发组人员身上的能力48项目介绍:PRJ4 机器学习实验平台机器学习实验平台用户界面项目负责助教:王钧奕 用户代表:许昊文我们需要一个机器学习的实验平台,为了:简化实验的步骤管理过去的实验和数据复用以前的实验方法和结果团队内部和跨团队的合作快速成果转化还为了:公平分配集群计算资源更简单地并行化实验的执行2022/8/

17、21机器学习实验平台项目51项目背景2022/8/21机器学习实验平台项目52我们痛恨的实验方法根本不知道每一个实验的内容是什么坑爹啊!2022/8/21机器学习实验平台项目53我们渴望的实验方法模块输入文件/值输出文件/值模块的输入输出相连构成实验用户通过浏览器界面设计实验实验控制器按照先后顺序依次执行实验中的每一个模块。若模块是确定性的,使用以往的运行结果。平台运行队列Yarn接受实验控制器对于运行某一个模块的请求。管理模块的运行、存储结果并汇报实验控制器。云平台他是个做系统的好手,但是他不会做前端。离我们渴望的实验方法,只有一个界面的距离。然而这一咫尺就是天涯。2022/8/21机器学习

18、实验平台项目54我们实验室有个PeterWe need your help!Peter 已经很努力了,乃们不要黑他。所以我们和你们的项目要同时进行,也就是说:约定好 API 的接口,你们开发界面,我们开发系统。在最后一周与我们的系统完成集成的工作。2022/8/21机器学习实验平台项目55其实我们的系统还没搭完你们的项目要实现的功能:对用户进行身份验证,即用户登录。上传、浏览、管理用户的数据文件和实验模块。创建、编辑和管理用户的实验。查看正在运行的实验,以及查看过去的实验结果。我们实验室配的电脑都是 Windows,然而有很多土豪自己买了 Mac:所以最好是 Web 的前端。Peter 用的

19、Linux 就不用管他了。2022/8/21机器学习实验平台项目56这些事情就拜托你们了许昊文电话件:public2022/8/21机器学习实验平台项目57用户代表项目介绍:PRJ5 中小学趣味编程青少年程序思维普及工具 计蒜客项目青少年程序思维普及工具计蒜客是一个致力于改进计算机编程教育的创业公司,其教学系统能够在学生输入代码的同时,对学生进行即时的提示,更利于初学者上手。本项目是计蒜客对于改进青少年编程学习方法的一种尝试,试图通过游戏的方法帮助处于小学阶段的儿童尽早地学会结构化地思维方式,更好地理性思考,同时引发其对于计算学科的最初认知和热爱。6061项目需求用户

20、系统注册、登录、密码找回、资料修改教学系统登录后进入关卡页面学生选择关卡后,会进入教学页面学生在关卡中可以使用代码或工具让兔子吃到萝卜设备多样化使用electron,将部分存储本地化,封装成客户端。62用户系统用户可以进行注册用户可以进行登录用户可以进行密码找回用户可以在登录的状态下,对自己的资料、密码进行修改63教学系统1、学生登录后会看见关卡页面已经通过的关卡及下一个未通过的关卡为可用状态其他关卡为不可用状态64教学系统2、学生选择其中关卡后,会进入教学页面(可参考部分已有版本)教学页面左侧为游戏界面(图形操作库)页面的右侧为代码区与工具区(代码执行、codemirror代码渲染)65教学

21、系统3、学生在关卡中可以通过代码或工具控制动画并通关需要结合程序思想进行关卡设计(具体可参考之后非功能需求的描述)学生工具生成的代码应该可以解释执行66设备多样化使用简单的方式将部分存储本地化,封装成客户端。(请参考桌面应用开发工具electron)67demo68非功能需求剧情设计,需要反映出程序设计的基本结构以及部分简单的算法知识涉及内容包括函数调用、循环结构、条件结构、赋值、自定义函数使用相应的辅助工具(具体参考需求书上的工具附录)抛弃网格固定化的地图设计,将地图上的元素均做绝对定位和边缘形状描述在设计时为多语言支持留下接口,方面未来的语言拓展注重选型,可在需求方推荐的图形操作库(sna

22、psvg.io/kity/svg.js)之外选择自己觉得更好的选型使用git进行版本控制69项目特点选型自由,剧情、关卡设计开放,发挥自己的创意为我们下一代的编程教育作出贡献70项目用户用户代表:计蒜客联系人:俞昊然电话箱:yuhaoran71项目介绍:PRJ6 人人贷业务数据报表平台人人贷数据业务报表平台2010年5月成立,服务覆盖全国30余个省的2000多个地区服务几十万名客户帮助他们通过信用申请获得融资借款通过自主出借获得稳定收益。接触顶级大数据互联网金融公司的机会!73项目背景数据企业核心价值的一部分反映企业的经营现状用于分析策划下一步战略帮助管理者做出决策。

23、数据报表自动化生成平台减少维护的人力成本满足业务增长的需求74功能需求SQL编辑器75功能需求SQL编辑器数据分析任务管理平台增删改数据分析任务定时或根据依赖调度数据分析任务以有向无环图的形式显示任务依赖关系76功能需求SQL编辑器数据分析任务管理平台数据报表展示77人人贷数据业务报表平台技术需求SQLPythonJavascript你开发的项目不是玩具,而是真正投入使用的产品!78项目介绍:PRJ8 组成原理挑战课程:32位MIPS综合实验背景简介由汇编语言、编译原理、计算机组成原理和操作系统等课程内容组成的挑战新课程的大作业中至关重要的一部分,增加部分功能点可以替代软件工程的大作业。系统给

24、分分为计原大实验要求和软工大实验要求两部分,项目管理及文档给分由软件工程助教负责。80项目功能简介计算机组成原理大作业基本功能实现内存管理单元MMU调通CPU的运行流程和基本指令完成中断和异常的处理外设支持软件工程大作业功能需求开发具有普适性的调试工具。可以在 PC端发送指令到硬件系统,可以启动、设置断点、继续运行、单步调试、查看信号等可以对已有的调试工具进行应用完善,可以新开发。81已有调试工具Cache DebuggerCache Debugger是一个基于串口的VHDL通用调试工具。在PC端发送指令到硬件系统,具有启动、断点、继续运行、单步调试、查看信号等多种功能。https:/Jami

25、sHoo/Cache-CPU82文档要求ucore操作系统分析及操作系统对硬件设计的需求文档设计文档测试文档8384得分构成文档评价 20%需求文档 30%设计文档 40%测试文档 30%功能成绩 60%计原大实验得分60%测试工具40% 过程成绩 20%与其他软工大作业要求相同85Introduction to JIRAJIRA is the tracker for teams planning and building great products.86ISSUESPROCESSPLANNINGCOLLABORATIONVISIBIILITYJIRA ConceptsIssueA software bug/ project task/helpdesk ticket/leave request formProjectA collection of issuesA software development projectWorkflowThe set of statuses and transitions that an issue goes through during its lifecycle87JI

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论