2019软件工程-我的项目做业

2020软件工程-结对项目做业

1. 项目简介

github连接 git

项目 内容
这个做业属于哪一个课程 https://edu.cnblogs.com/campus/buaa/BUAA_SE_2020_LJ
这个做业的要求在哪里 https://edu.cnblogs.com/campus/buaa/BUAA_SE_2020_LJ/homework/10466)
我在这个课程的目标是 提高软件开发能力
这个做业在哪一个具体方面帮助我实现目标 提高了我的编程能力, 测试和提高代码性能的能力

2. PSP时间花费

PSP2.1 Personal SoftWare Process Stages 预计耗时 实际耗时
Planning 计划 120 60
Estimte 估计这个任务须要多少时间 1800 1700
Development 开发 1100 1000
Analysis 需求分析 0 0
Desing Spaec 生成设计文档 100 40
Design Review 设计复审 100 10
Coding Standard 代码规范 0 0
Design 具体设计 60 40
Coding 具体编码 1100 180
Code Review 代码复审 60 60
Test 测试 180 180
Reporting 报告 100 120
Test Report 测试报告 0 0
Size Measurement 计算工做量 5 0
Postmortem & Process Improvement 过后总结 60 50
- 合计 1800 1700

3. 接口设计

通过查阅资料和学习, 我了解到在接口设计中有经常使用的一些原则, 本次做业的设计中, 咱们用到了这些原则。github

  • 单一职责原则编程

    Single Responsibility Principle: There shuld never be more than one reason for class to change函数

    单一职责原则要求一个接口, 一个功能, 若是在private 方法和public接口中, 改动过多, 那么容易引发错误。 在结对编程的设计中, 计算模块里咱们尽可能保证一个函数只作一个事情, 好比Line Circle Point分出三个类, 每一个求交点的函数只处理一种类型等。性能

  • 里氏替换原则学习

    Liskov Substitution Principle: Functions that use pointers or references to base classed must be able to use objecsts of derived classes without knowing it测试

    这一法则是多态的体现, 全部父指针的使用点均可以用子指针, 这要求了子类只扩展父类, 可是不能够用在覆写父类函数的时候让函数的应用范围减小。 在最初的版本中, 咱们采用了Line Circle继承父类的方式实现, 后来发现这种继承影响性能, 就放弃了继承。编码

  • 依赖倒置原则设计

    依赖倒转原则是TDD测试驱动开发的体现, 要求高层模块不依赖特定的底层模块, 而是依赖其抽象, 这要求编程者提早想好接口。指针

  • 接口隔离原则

    clients should not be forced to depend upon interfacess that they don't use

    保证接口单一, 不要过于臃肿, 在计算模块和UI模块的对接时, 咱们尽可能细化接口, 让模块的每一个按钮对应了恰好一个接口, 同时接口之间的功能达到了隔离。

  • 迪米特法则

    law of Demeter: least knowledge

    loose coupling: Loose coupling means they mostly independent

    这一原则要求两个类之间要低耦合, 达到loose coupling, 一个类不须要知道另外一个类是怎么实现的, 更不须要由于一个类内部代码的修改二更改本身的方法。 在咱们的结对编程中, 为了实现接口的高效对接, 对于接口进行和抽象和封装

5. UML图

7. Design By Contract

10. 界面模块设计

11. 界面模块与计算模块的对接

12. 描述结对的过程

13. 结对编程优缺点

相关文章
相关标签/搜索