Suche senden
Hochladen
软件项目管理与团队合作
•
7 gefällt mir
•
976 views
晟 沈
Folgen
http://blog.splayer.org/index.php/2010/10/splayer-project-managent-and-coding-style/
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 30
Empfohlen
ΝΕΚΡΟΦΑΝΕΙΑ ΚΑΙ ΑΠΟΤΕΦΡΩΣΗ
ΝΕΚΡΟΦΑΝΕΙΑ ΚΑΙ ΑΠΟΤΕΦΡΩΣΗ
csdtesting
.NET history and careers
.NET history and careers
Shiny Zhu
Wind power
Wind power
jacattackhk
Simulacro examen censal 1
Simulacro examen censal 1
I.E.P TERCER MILENIO
C++ functions
C++ functions
Dawood Jutt
Functions in c++
Functions in c++
HalaiHansaika
2009
2009
Sonia Sanchez
Matriz de Registro de Comunicación 1
Matriz de Registro de Comunicación 1
Gerson Ames
Empfohlen
ΝΕΚΡΟΦΑΝΕΙΑ ΚΑΙ ΑΠΟΤΕΦΡΩΣΗ
ΝΕΚΡΟΦΑΝΕΙΑ ΚΑΙ ΑΠΟΤΕΦΡΩΣΗ
csdtesting
.NET history and careers
.NET history and careers
Shiny Zhu
Wind power
Wind power
jacattackhk
Simulacro examen censal 1
Simulacro examen censal 1
I.E.P TERCER MILENIO
C++ functions
C++ functions
Dawood Jutt
Functions in c++
Functions in c++
HalaiHansaika
2009
2009
Sonia Sanchez
Matriz de Registro de Comunicación 1
Matriz de Registro de Comunicación 1
Gerson Ames
El Amor Nunca Deja De Ser
El Amor Nunca Deja De Ser
Tabernáculo De Adoración Adonay
Digitalisation@Massey: Understanding the Real Drivers
Digitalisation@Massey: Understanding the Real Drivers
Mark Brown
Business Card Designer
Business Card Designer
NextBee Media
Kit comunicación-entrada-3-oralidad
Kit comunicación-entrada-3-oralidad
Gerson Ames
expression in cpp
expression in cpp
gourav kottawar
Uni papua fc kuta gle aceh held exhibition match with putra seulawah fc.
Uni papua fc kuta gle aceh held exhibition match with putra seulawah fc.
Uni Papua Football
Canal de distribuição
Canal de distribuição
Reinaldo Mariano
exception handling in cpp
exception handling in cpp
gourav kottawar
LEGADO UNIVERSAL DEL SHABBAT
LEGADO UNIVERSAL DEL SHABBAT
Ricardo Mojica
Bautismo verdadero
Bautismo verdadero
julio torres
8 Pointers
8 Pointers
Praveen M Jigajinni
Lavori Elisabetta Frameglia per corso graphic design
Lavori Elisabetta Frameglia per corso graphic design
NAD Nuova Accademia del Design
Basics of oops concept
Basics of oops concept
DINESH KUMAR ARIVARASAN
[OOP - Lec 02] Why do we need OOP
[OOP - Lec 02] Why do we need OOP
Muhammad Hammad Waseem
Sesion 7
Sesion 7
CONASIN PERU
Kit de Evaluación Secundaria.
Kit de Evaluación Secundaria.
Marly Rodriguez
Ppt kit 2do y 4to 2016 primer bimestre [reparado]
Ppt kit 2do y 4to 2016 primer bimestre [reparado]
Jimmy Cuadros Q
Legno - 1
Legno - 1
STORIA DEI MATERIALI. Materiale didattico
UiGathering 2012.07 Slide (Derek Liu)
UiGathering 2012.07 Slide (Derek Liu)
UXTW(Taiwan User Experience Professional Association)
Scea su chengwu_pmroi_traditional
Scea su chengwu_pmroi_traditional
xtiandlr
[DDD] 快快樂樂學DDD
[DDD] 快快樂樂學DDD
Clark
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1(20160222)
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1(20160222)
Duran Hsieh
Weitere ähnliche Inhalte
Andere mochten auch
El Amor Nunca Deja De Ser
El Amor Nunca Deja De Ser
Tabernáculo De Adoración Adonay
Digitalisation@Massey: Understanding the Real Drivers
Digitalisation@Massey: Understanding the Real Drivers
Mark Brown
Business Card Designer
Business Card Designer
NextBee Media
Kit comunicación-entrada-3-oralidad
Kit comunicación-entrada-3-oralidad
Gerson Ames
expression in cpp
expression in cpp
gourav kottawar
Uni papua fc kuta gle aceh held exhibition match with putra seulawah fc.
Uni papua fc kuta gle aceh held exhibition match with putra seulawah fc.
Uni Papua Football
Canal de distribuição
Canal de distribuição
Reinaldo Mariano
exception handling in cpp
exception handling in cpp
gourav kottawar
LEGADO UNIVERSAL DEL SHABBAT
LEGADO UNIVERSAL DEL SHABBAT
Ricardo Mojica
Bautismo verdadero
Bautismo verdadero
julio torres
8 Pointers
8 Pointers
Praveen M Jigajinni
Lavori Elisabetta Frameglia per corso graphic design
Lavori Elisabetta Frameglia per corso graphic design
NAD Nuova Accademia del Design
Basics of oops concept
Basics of oops concept
DINESH KUMAR ARIVARASAN
[OOP - Lec 02] Why do we need OOP
[OOP - Lec 02] Why do we need OOP
Muhammad Hammad Waseem
Sesion 7
Sesion 7
CONASIN PERU
Kit de Evaluación Secundaria.
Kit de Evaluación Secundaria.
Marly Rodriguez
Ppt kit 2do y 4to 2016 primer bimestre [reparado]
Ppt kit 2do y 4to 2016 primer bimestre [reparado]
Jimmy Cuadros Q
Legno - 1
Legno - 1
STORIA DEI MATERIALI. Materiale didattico
Andere mochten auch
(18)
El Amor Nunca Deja De Ser
El Amor Nunca Deja De Ser
Digitalisation@Massey: Understanding the Real Drivers
Digitalisation@Massey: Understanding the Real Drivers
Business Card Designer
Business Card Designer
Kit comunicación-entrada-3-oralidad
Kit comunicación-entrada-3-oralidad
expression in cpp
expression in cpp
Uni papua fc kuta gle aceh held exhibition match with putra seulawah fc.
Uni papua fc kuta gle aceh held exhibition match with putra seulawah fc.
Canal de distribuição
Canal de distribuição
exception handling in cpp
exception handling in cpp
LEGADO UNIVERSAL DEL SHABBAT
LEGADO UNIVERSAL DEL SHABBAT
Bautismo verdadero
Bautismo verdadero
8 Pointers
8 Pointers
Lavori Elisabetta Frameglia per corso graphic design
Lavori Elisabetta Frameglia per corso graphic design
Basics of oops concept
Basics of oops concept
[OOP - Lec 02] Why do we need OOP
[OOP - Lec 02] Why do we need OOP
Sesion 7
Sesion 7
Kit de Evaluación Secundaria.
Kit de Evaluación Secundaria.
Ppt kit 2do y 4to 2016 primer bimestre [reparado]
Ppt kit 2do y 4to 2016 primer bimestre [reparado]
Legno - 1
Legno - 1
Ähnlich wie 软件项目管理与团队合作
UiGathering 2012.07 Slide (Derek Liu)
UiGathering 2012.07 Slide (Derek Liu)
UXTW(Taiwan User Experience Professional Association)
Scea su chengwu_pmroi_traditional
Scea su chengwu_pmroi_traditional
xtiandlr
[DDD] 快快樂樂學DDD
[DDD] 快快樂樂學DDD
Clark
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1(20160222)
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1(20160222)
Duran Hsieh
Software Development via A.I.
Software Development via A.I.
f62vj7ctgx
1 spmc introduction
1 spmc introduction
huanglab
面向数据流的软件设计方法
面向数据流的软件设计方法
happyjin2010
移动开发敏捷实践
移动开发敏捷实践
Yuan Mai
如何培養架構性思考(談軟體架構師必經之路)
如何培養架構性思考(談軟體架構師必經之路)
Gelis Wu
A dev ops team's practice in trend micro in agile summit 2018
A dev ops team's practice in trend micro in agile summit 2018
Juggernaut Liu
前端开发的那些事儿
前端开发的那些事儿
jndream
歡迎加入軟體構築行列
歡迎加入軟體構築行列
Chris Wang
篱笆网结婚频道项目制产品开发经验分享-PMCamp2
篱笆网结婚频道项目制产品开发经验分享-PMCamp2
PMCamp
20130112用原型驅動設計@webconf
20130112用原型驅動設計@webconf
Justin Lee
在生命轉彎的地方 - 從軟體開發職涯,探索人生
在生命轉彎的地方 - 從軟體開發職涯,探索人生
Rick Hwang
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
LetAgileFly
2023 08 - SRE 實踐與開發平台指南 - 書友見面會
2023 08 - SRE 實踐與開發平台指南 - 書友見面會
Rick Hwang
面對移動化App挑戰的架構設計
面對移動化App挑戰的架構設計
Clark
程序员与技术
程序员与技术
ligaoren
網路、行銷、使用者經驗設計
網路、行銷、使用者經驗設計
Charles (XXC) Chen
Ähnlich wie 软件项目管理与团队合作
(20)
UiGathering 2012.07 Slide (Derek Liu)
UiGathering 2012.07 Slide (Derek Liu)
Scea su chengwu_pmroi_traditional
Scea su chengwu_pmroi_traditional
[DDD] 快快樂樂學DDD
[DDD] 快快樂樂學DDD
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1(20160222)
2016年逢甲大學資訊系:ASP.NET MVC 4 教育訓練1(20160222)
Software Development via A.I.
Software Development via A.I.
1 spmc introduction
1 spmc introduction
面向数据流的软件设计方法
面向数据流的软件设计方法
移动开发敏捷实践
移动开发敏捷实践
如何培養架構性思考(談軟體架構師必經之路)
如何培養架構性思考(談軟體架構師必經之路)
A dev ops team's practice in trend micro in agile summit 2018
A dev ops team's practice in trend micro in agile summit 2018
前端开发的那些事儿
前端开发的那些事儿
歡迎加入軟體構築行列
歡迎加入軟體構築行列
篱笆网结婚频道项目制产品开发经验分享-PMCamp2
篱笆网结婚频道项目制产品开发经验分享-PMCamp2
20130112用原型驅動設計@webconf
20130112用原型驅動設計@webconf
在生命轉彎的地方 - 從軟體開發職涯,探索人生
在生命轉彎的地方 - 從軟體開發職涯,探索人生
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
Scrum gathering 2012 shanghai 产品管理及用户体验 分会场:敏捷的hard模式 产品经理视角(窦涵之)
2023 08 - SRE 實踐與開發平台指南 - 書友見面會
2023 08 - SRE 實踐與開發平台指南 - 書友見面會
面對移動化App挑戰的架構設計
面對移動化App挑戰的架構設計
程序员与技术
程序员与技术
網路、行銷、使用者經驗設計
網路、行銷、使用者經驗設計
Mehr von 晟 沈
MVC for Desktop Application - Part 4
MVC for Desktop Application - Part 4
晟 沈
MVC for Desktop Application - Part 3
MVC for Desktop Application - Part 3
晟 沈
MVC for Desktop Application - Part 2
MVC for Desktop Application - Part 2
晟 沈
Mercurial Quick Tutorial
Mercurial Quick Tutorial
晟 沈
MVC for Desktop Application - Part 1
MVC for Desktop Application - Part 1
晟 沈
Learning Method
Learning Method
晟 沈
C_CPP 初级实物
C_CPP 初级实物
晟 沈
Mehr von 晟 沈
(7)
MVC for Desktop Application - Part 4
MVC for Desktop Application - Part 4
MVC for Desktop Application - Part 3
MVC for Desktop Application - Part 3
MVC for Desktop Application - Part 2
MVC for Desktop Application - Part 2
Mercurial Quick Tutorial
Mercurial Quick Tutorial
MVC for Desktop Application - Part 1
MVC for Desktop Application - Part 1
Learning Method
Learning Method
C_CPP 初级实物
C_CPP 初级实物
软件项目管理与团队合作
1.
软件项目管理与团队合作 射手培训课程 He
Shiming2010-7 SPlayer.org (射手科技)
2.
软件项目的计划与设计 项目开发的方法学(Methodology) 项目版本管理与Subversion(SVN)
代码规范(Coding Style)和编程规则(Programming Rules) 代码度量(Code Metrics) 代码复查(Code Review) 项目开发流程 本课涉及… SPlayer.org (射手科技)
3.
软件项目的计划与设计 软件项目从何而来,它是如何被计划和设计的 SPlayer.org
(射手科技)
4.
来源于人的思想 用于解决或改进实际问题将教学上的幻灯片电子化(Microsoft PowerPoint)自由地进行照片编辑(Adobe
Photoshop)改善上网经历的网页浏览器(Google Chrome) 在商业上有前景 软件项目从何而来 SPlayer.org (射手科技)
5.
一个实际问题,可能有多种解释方法,多种实现手段 设计是一个确定该实际问题的最终解释方法(捕捉用户需求),最终表现形式(设定产品规格),和最终实现手段(设定开发计划)的过程 设计师通过自己的经验,判断用户需求的最佳捕捉方式,最佳表现形式,和制定最有效率的开发计划
软件项目如何被设计 SPlayer.org (射手科技)
6.
项目开发中的方法学(Methodology) 方法学存在的意义 SPlayer.org
(射手科技)
7.
方法学是针对软件项目开发中所遇到问题,根据前人经验所总结形成的方法、规范和流程定义 方法学是团队合作的基本依据 方法学能在一定程度上提供对项目进度的预测,和对人力、财务需求的估计
方法学存在的意义 SPlayer.org (射手科技)
8.
Water-fall思想,主张将开发工作总结为这样一个,带有次序和依赖性的模式,每一步都是系统级的:需求->设计->实现->测试->发布->维护 Agile思想主张不以完成整体系统设计为早期目标,转而快速进行原形开发,快速提供一个缺乏功能、带有缺陷的原形,而在其上通过一次又一次的循环,逐步进行设计、实现和测试 常用方法学
SPlayer.org (射手科技)
9.
项目版本管理与Subversion(SVN) 什么是版本管理,为何要进行版本管理 SPlayer.org
(射手科技)
10.
项目开发活动每天都在进行,由多人参与,无法保证任何时间点所有人手边的项目代码(work copy)都没有错误 有时一个任务在开始很久之后,才决定要修改设计,可能需要将当前项目还原(revert)到任务开始之前
多个功能在同时开发,没有版本管理时,必须互相拷贝各自所负责的代码文件,某个人的失误可能导致整个项目出错 进行版本管理能避免重大和不可逆的失误 SPlayer.org (射手科技)
11.
每隔一个阶段,将所有工程文件和代码复制,按照时间留拷贝 操作繁琐 不解决多人协作的问题
不解决项目进度跟踪的问题 原始的版本管理 SPlayer.org (射手科技)
12.
Concurrent Version System
(CVS) Subversion (SVN) 提供一个中央数据库服务器,用于管理代码 通过客户端与服务器通信,实现阶段性代码副本功能 提供了多人协作的方便,和分支管理功能 现代版本管理系统 SPlayer.org (射手科技)
13.
Repository(Repo)概念一个数据库,负责存储代码副本 Commit概念向数据库传送一个代码副本(该副本将会被赋予一个版本号) Check-out概念从数据库取得一个代码副本(work
copy) Update概念以本地代码副本(workcopy)为基础,下载在上次Update或Check-out之后更新的文件,并保留本地已修改文件不变 SVN概念 SPlayer.org (射手科技)
14.
trunk概念是Repo数据库中的一个文件夹,其中的代码副本为稳定版本,通过测试和确认可靠的 branch概念是Repo数据库中的一个文件夹,是项目的一个开发用分支,代码可能不稳定不可靠 merge概念将稳定和确认可靠的branch合并至trunk
SVN概念 SPlayer.org (射手科技)
15.
代码规范与编程规则 使用统一格式和规则进行编码的意义 SPlayer.org
(射手科技)
16.
使用统一的编码格式有助于提高代码可读性,防止语义混淆,从一定程度上减少编码错误 代码规范 SPlayer.org
(射手科技)
17.
SPlayer.org (射手科技)
18.
SPlayer.org (射手科技)
19.
SPlayer.org
(射手科技)
20.
SPlayer.org (射手科技)
21.
SPlayer.org (射手科技)
22.
编码规范是代码的具体细节,而编程规则涉及内容就是框架性和规范性的 譬如,现有编程规则主张采用:MVC架构进行产品设计(保证产品质量)使用STL的字符串、数组实现,而非C、Windows、MFC/ATL的实现(保证代码执行效率和可移植性) 编程规则,将一个问题的多种实现方案,合理精简为一个
编程规则 SPlayer.org (射手科技)
23.
代码度量 通过数学统计确定代码的可读性 SPlayer.org
(射手科技)
24.
SPlayer.org
(射手科技)
25.
Kiviat Graph /
Source Monitor SPlayer.org (射手科技)
26.
代码复查 通过开发成员间互相查看和评定对方代码,来学习和确保质量 SPlayer.org
(射手科技)
27.
当局者迷,旁观者清,自己犯的错误自己不容易发现 通过这种交流方式互相取长补短 在项目管理中,制定责任和权限机制
代码复查的意义 SPlayer.org (射手科技)
28.
通过ReviewBoard(www.reviewboard.org)进行 开发人员有各自独立帐号,在工作完成时,通过该平台提交复查申请(半自动化) 相关人员查看并审核复查申请,决定代码是否合格
代码复查的形式和方法 SPlayer.org (射手科技)
29.
项目开发流程 项目开发活动如何进行 SPlayer.org
(射手科技)
30.
SPlayer.org (射手科技)
Hinweis der Redaktion
偏重实务,而非课本知识
项目管理的宗旨是提高项目质量,确保项目按时完成因此本课涉及内容都是质量控制和进度控制的一环
范例:开发一个博客系统
版本管理与软件发行版本是不同的
按照今天的日期,开设文件夹,保存当日的开发版本
SVN的基本理念来自CVS
空格和换行的规定
降低代码复杂度,条件嵌套是增加代码复杂度的重要因素
制定编码格式规范是一个商业需求,有助于将开发者锁定于某个平台
员工互相查看对方代码,即便是在不同模块,也能发现对同一个问题的不同理解和不同实现方式。普通开发人员没有版本管理的commit权限,因此不对主项目的代码承担责任,他仅对自己的工作单元部分承担责任,在代码复查不合格时,需要自行修改。