Hala
2017-07-02 03:25:11 1 举报
AI智能生成
挂科了挂科了挂科了挂科了挂科了
作者其他创作
大纲/内容
Maintenance
Type of Maintenance
Corrective
维持控制日常功能
Adaptive
应对维持控制系统的修改
Perfective
完善现有的功能
Preventive
防止系统性能下降到不可用的地步
cyclomatic number(环路数)
划分平面数
线性无关路径数
e - n + 2
System Test
Testing Process
Function Testing(功能测试)
Cause and Effect Graphs
Decision Table
Peformance Testing(性能测试)
Acceptance Testing(验收测试)
Installation Testing(安装测试)
Test Techniques
Regression Test(回归测试)
RAM
Software Reliability(软件可靠性)
系统在给定时间间隔内无失效运行的概率
MTTF, R = MTTF / (1 + MTTF)
Software Avalibility(软件可用性)
系统在一个给定时刻完整工作的可能性
MTBF, A = MTBF / (1 + MTBF)
Software Maintainability(软件可维护性)
系统在给定时间间隔内完成维护活动的可能性
MTTR, M = 1 / (1 + MTTR)
Introduction
Software Defination
Instructions
Data
Documents
Software Quality
User's View
Correctness
Reliability
Integrity
Efficiency
Usability
Developer's View
Maintainability
Testability
Flexibility
Portability
Reusability
Interoperability
Process Quality
CMM(Capability Maturity Model)
SPICE
RUP(Rational Unified Process)
Quality in the context of the Business Enviorment
ROI
(total benefit - total cost) / total_cost
Software Engineering
软件工程是涉及软件产品系统化生产和维护的技术性和管理性的规则,软件产品因在成本估计范围内,随时准备开发和修改
将系统化的,严格约束的,可量化的方法应用到软件开发,运行和维护
Software Engineer & Computer Scientist
Computer scientist solve the computer's problems
Software engineer produce quality software using computer as tools
Program Test
Static Test(静态测试)
Code Inspection(代码会审)
Walk Through(走查)
Desk Chekcing(办公桌检查)
Dynamic Test(动态测试)
Black Box(黑盒测试)
White Box(白盒测试)
Statement Cover(语句覆盖测试)
Condition Cover(条件覆盖)
Branch Cover(分支测试覆盖)
Boundary Test(边界测试)
(Exhaustive)穷举测试和选择测试
Unit Testing
Correctness
Formal Proof Techiniques(形式化证明技术)
Symbolic Execution(符号执行)
Automated Theorem-Proving(自动定理证明)
Integration Testing
Bottom-Up
Top-Down
Big-Bang
Sandwich Testing
Code Review
Code Walkthrouhs
Code Inspection
Requirement Analysis
Type of Requirement
Functional Requriement(功能需求)
Quality Requirement(非功能需求)
Design Constraint(设计约束)
Process Constraint(过程约束)
Requirements Documents
Requirement Definition(需求定义文档)
Requriements Specification(需求分析文档)
Modeling Notations
ER Diagram(实体关系图)
UML Class Diagram(UML 类图)
关系,实体,属性,对问题中的对象的关联进行建模
Data-Flow Diagrams(数据流图)
UML Use Case Diagmran(UML用例图)
描述一个功能到另一个功能的数据流建模
Event Trace(事件追踪)
UML Sequence Diagram(UML序列图)
表示真实世界实体之间交换的事件序列的图形描述
State Machine(状态机)
用于在单个模型中表示一组事件踪迹描述了环境与系统之间的对话
UML Statechart Diagrams(UML状态图)
System Design
What is design? design is a creative process transoforming problem into solution
Architecture Style
Involves
Components(组件)
Connectors(连接器)
Constraints on combining components
Styles
Pipes and filters(管道与过滤器)
Concurrent executing of filters
Object-Oriented Design(OO设计)
Integrity of data representation
Implicit invocation(隐含调用)
Exchange must be done through shared data
Easy reuse from other systems
Layering(分层)
Representing different levels of abstraction
Repositories(仓库)
Openess, Modularity
Example: Libraries, Large database, Search Engines
Interpreters(解释器)
JVM, WEB脚本语言
Process Control(过程控制)
Clinet-Server(客户机/服务器)
瘦客户机/胖客户机
Decompositions
Modular Decompostion(模块分解)
分配函数到各个模块中
Data-Oriented Decompostion(数据导向分解)
将数据分配到各个模块中
Event-oriente Decompositio(事件导向性分解)
将事件任务分配到各个模块中
Outside-In Design(由外向内设计)
Object-Oriented Design(面对对象设计)
将对象分配到各个模块中
Characteristic of Good Design
Coupling(耦合)
Uncouping(非直接耦合)
最低,通过其它模块间接联系
Data Coupling(数据耦合)
参数传递一般的数据
Stamp Coupling(标记耦合)
参数传递结构类数据
Control Coupling(控制耦合)
传递控制标记flag
Common Coupling(公共耦合)
共用数据
Content Coupling(内容耦合)
GO TO
两个构件之间的相互依赖和相互作用的程度
Cohesion(内聚)
Functional Cohesion(功能内聚)
一个功能一个模块
Sequential Cohesion(顺序内聚)
上个功能输出作为下个功能输入
Communicational Cohesion(通讯内聚)
借用公共数据
Procedural Cohesion(过程内聚)
功能必须按特定顺序执行
Temporal Cohesion(时间内聚)
执行时间一样
Logic Cohesion(逻辑内聚)
输入相同或输出相同
Coincidental Cohesion(偶然内聚)
最低内聚程度
Project
Defination
Temporary endeavor undertaken to create unique product, service or result
Work break down structure
Precursor
Duration
Due Date
End Point
Project Personnel
Extroverts
Tell their thoughts
Introverts
Ask for suggestion
Intuitives
Base decisions on feelings
Acknowledges feelings
Rationals
Base decisionss on facts
Decide logically
Project Organization
Chief Programmer Team
Egoless Approach
Effort Estimation
Risk Management
Risk Assesment
Risk Identifaction
Risk Analysis
Risk Prioritization
Risk Control
Risk Reduction
Risk Management Planning
Risk Resolution
Risk Exposure
Exposure = (Risk Probability) * (Risk Impact)
Process
Process Models
Waterfall Model
Features
Very well distinguished process
Every steps in the model completes with milestone
When the documents are approved the next step can be taken
Well defined inputs and outputs of the activities
Precisely define different roles of developers
Drawbacks
There is no insight into how activity transform one artifact to another, such as requirements to design
It's failure to treat software as a problem solving process
Prototyping Model
Spiral Model
Increnmental Model & Iterations Model
V Model
Agile Model
收藏
0 条评论
下一页
为你推荐
查看更多