`

技术解决过程域 [Technicl Solution]

阅读更多
技术解决过程域 [Technical Solution]

技术实现包括以下内容:
    设计产品和产品组件
    管理产品组件之间的接口
    编译和调度产品组件
    产品的集成、发布
    确保需求是能被满中的
    产品交付使用 [测试团队、外部客户]

设计
    高阶设计阶段
        架构设计
    详细设计
        界面设计
        数据库设计
        模块设计
        数据结构与算法
    
    架构设计原则:
        合适性
        结构稳定性
        可扩展性
        可复用性
        
        --------------------------
        合适性:
            适合功能、非功能需求
            市场决定产品命运,而不是技术
            没有最好的,只有最合适的
            开发多个候选方案,选择最合适的
            
        稳定性:
            稳定的需求决定体系结构
            易变的需求决定体系可扩展性
            
        可扩展性:
            变化是永恒不变的主题,是否适应变化决定了产品的前途
            稳定与扩展的关系:辩证的关系
                只是稳定,不可扩展,则产品没有前途
                稳定是可扩展的基础,结构稳定才能可持续的扩展
            预留接口
            
        可复用性:
            可复用性是设计出来的
                公共部分
                抽象
            复用提高生产率
            
            
    用户界面设计原则:
        易用性
            操作简单
            容易使用
            风格一致
            及时反馈信息
            出错处理
        美观
            布局合理
            色彩搭配适当
            
    数据库设计原则:
        选择合适的数据库
        数据库优化
            优化表结构
                规范化(第三范式)
            优化数据环境参数
                增强硬件性能,内在、CPU等
    
    模块设计原则:
        透明
            接口公开,内部实现隐藏
        高内聚
            一个模块内部各元素之间的关联度要高
        低耦合
            模块之间的依赖程度要低
    [
        模块的性能决定了系统的性能
            单个模块的性能决定了系统某个功能的性能
            模块间的协作性能决定了系统的整体性能
    ]    
        
编码
    编码规范
    单元测试
    代码评审
    ----------------------
    
    编码规范
        基本的编码规范
            排版
            注释
            命名
        高级的编码规范
            针对特定语言的经验总结 [c\c++\Java]
    
    单元测试
        作用及价值:
            增加我们对程序的信心
                测试可以让我们相信程序做了我们期望做的事情
            尽早发现BUG
                一个BUG被隐藏的时间越长,修复这个BUG的代价就越大
            做回归测试的根本
        
        单元测试的需要:
            学习测试工具
            学习测试方法
            写测试用例
            
        测不出BUG的可能性:
            代码质量高[可能性较低]
            测试方法、测试策略不对、测试用例质量不高、覆盖率低
        
        编写单元测试
            利用工具
            测试方法
                等价类、边界值、逻辑覆盖
            测试策略
                根据逻辑复杂度确定是否值得编写测试用例[循环、判断层次]
            使用断言而不是打印
            测试覆盖率:代码覆盖、分支覆盖、路径覆盖
            
        不写单元测试可能出现的后果:
            项目不断播延期
            无休的加班
            对项目失去信心
            大量开发人员离职
            产品不能推向市场
        
审计
    QA 审计要点
        是否写了测试用例
        测试用例是否达到了组织要求的覆盖率
        是否记录了测试的BUG
        是否分析了BUG的原因,类型分布
    
    代码评审
        类型:
            正式审查
            非正式走查
                自查
                交叉检查
                四眼走查
                会议走查
    
    代码评审可能出现的问题:
        编码规范
            排版
            命名
            注释
        设计需求满足的问题
            编码是否符合设计、需求
    
    代码评审策略
        每日/每周走查
        新手必查
        核心代码必查
        
    如何保证代码评审效果
        引入代码静态检查工具
        运用代码评审检查单
            检查单要更新、维护
            检查单数据要统计
        编程高手
            经验
            培训
            指导
            标杆
    
重构[单元测试用例是重构的保证]
    定义:不改变软件外部行为的前提下,调整程序结构,搞高可理解性,可维护性
        优化软件结构
        找出BUG
    重构时机:
        修改BUG的时
        代码评审时
        添加新功能时
    
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics