第七の仕事「あなたは、右のチームにしている」:&コーディングを改善するために設計されたチームプロジェクト
プロジェクト | コンテンツ |
---|---|
この作品は、コースに属し | [ 教師のブログのホーム・ページのリンク ] |
どこの仕事でこの要件 | [ ジョブリンクアドレス ] |
チーム名 | 「あなたは、右のチームにしています。」 |
ジョブの学習目標 | コーディングのソフトウェアエンジニアリングの要件をマスター |
A. Githubのプロジェクトチーム倉庫アドレスリンク
[ GitHubのリポジトリリンク ]
二.Github倉庫アップロード「ソフトウェア設計マニュアル」
[ 「ソフトウェア設計マニュアル」GitHubのアドレスリンク ]
技術的な設計ソフトウェアの設計ガイドラインを具現化する方法3. 1つのプロジェクトのサマリータスク
抽象
我们把业务需求抽象成数据模型、模块、服务和系统,面向对象开发时我们抽象出类和对象,面向过程开发时我们抽象出方法和函数,最终我们还是要把我们抽象出来的架构、模型等,落地到真正的代码层面,那就还需要逻辑思维能力、系统分析能力等。
強い凝集/弱い結合/モジュラー
它是把数据结构和操作这些数据的方法紧密地结合在一起所构成的模块。分解系统为一组具有高内聚和松耦合的模块是模块化的属性。我们采用职责驱动设计,设计中尽力做到“低耦合、高内聚”的一个非常重要的前提是,我们的软件是在不断变化的使用接口而不是继承。 高内聚是另一个普遍用来评判软件设计质量的标准。内聚,更为专业的说法叫功能内聚,是对软件系统中元素职责相关性和集中度的度量 高内聚”给软件项目带来的优点是:可读性强、易维护和变更、支持低耦合、移植和重用性强。
情報隠蔽とカプセル化
在面向对象方法中,信息隐藏通过对象的封装性来实现。一个模块不需要知道另外一个模块的内部情况,你可以有效的解除组成系统个模块之间的耦合关系,使这些模块可以独立开发,测试,优化,修改,理解,这样可以加快系统开发的速度,因为这些模块可以并行开发。它也减轻了维护的负担,因为我们可以更快点的理解这些模块,并在调用的时候不影响其他模块
インタフェースと実装の分離
功能模块之间需要进行解耦 ,核心思想:强内聚,弱耦合 -:每个模块应该只实现单一的功能 , 模块内部的子模块只为整体的单一功能而存在 , 模块之间通过约定好的接口进行交互。
エラー処理の例
主要对接口的实现进行调试,接口异常,运行环境异常等问题,经行反复测试。对于每个代码格式问题简单的处理。确定接口,函数,属性,各个变量等的规范使用 设计方案对于应对变化的灵活性:主要对接口的定义:模块之间仅通过接口进行关联,必然存在模块会使用接口 。模块间的关系是单向依赖的- 必然存在模块实现对应的接口
ソフトウェア設計の再利用の場合
应用框架的重用:直接使用框架重用,继承这个类,实现接口。 在继承HibrnateDaoSupport的DAO实现里,Hibernate Session的管理完全不需要Hibernate代码打开,而由Spring来管理。Spring会根据实际的操作,采用“每次事务打开一次session”的策略,自动提高数据库访问的性能。
四の.Github倉庫のアップロード「ソフトウェアは、標準仕様のコーディング」
[ 「ソフトウェアコーディング標準仕様」GitHubのアドレスリンク ]
5つのプロジェクトは、.Github倉庫アップロードソースを完了しています
VI。3この割り当ての概要を完了するために必要なタスクに応じて
1.図の熱傷
2.労働チームメンバーの特定の部門、ジョブタスクの合計の割合と実際の時間の自分のタスクを完了するための作業量
メンバー | 仕事の部門 | 仕事の割合 | 時間(分) |
---|---|---|---|
その事実牙 | プロジェクトの設計仕様を改善 | 20% | 240 |
LIBERATION | 技術的なプロジェクトの設計原則、予備的なコーディング、コーディングを規範 | 25% | 360 |
奇数選挙まで | 初期の符号化を達成するための手順書かれたコーディング標準、 | 23% | 300 |
丁Jiahui | ブログ、設計プロセスを総括 | 22% | 180 |
温家宝Yongqin | 文書編集を改善 | 10% | 60 |
経験の3.まとめ
程序编码阶段是一个非常重要的阶段,这个阶段决定着我们程序的安全性,以及后期的操作维护,软件的开发不是凭借一己之力就能做好的,我们需要的是团队的合作,关于编码,我们认为编码要想做的完美必备条件就是前面的软件定义和软件设计时期要按部就班的做,文档一定要按要求书写,不能偷懒也不能草草书写,把代码写的漂亮,注释、空行、规范一样不能少,可读性是放在第一位。进行程序编码的时候一定要要注意代码的规范性,要使源程序代码的逻辑简明清晰、易读易懂。这样尽管我们不是设计系统的人员,当看到源程序代码的时候也能容易读懂代码的意思。