Please enable JavaScript.
Coggle requires JavaScript to display documents.
Software Engineering (:moneybag:Question (:two:软件不能被大量制造 (:three…
Software Engineering
:moneybag:Question
-
-
-
-
:six: The communication activity is best handled for small projects using six distinct actions (inception, elicitation, elaboration, negotiation, specification, validation). :red_cross:
The prototyping model of software development is a useful approach when a customer cannot define requirements clearly.
Process technology tools allow software organizations to compress schedules by skipping unimportant activities. :red_cross:
Configuration analysis focuses on the architecture of the user's web browsing environment. :red_cross:
-
-
-
an example of infrastructure components that may need to be integrated into the software architecture
A. Communications components
B. Database components
D. Memory management components
Component-level design for mobile apps is not any different from component-based design for Web apps.
:moneybag:软件配置
-
:moneybag:WebApp配置管理
:explode:Content,People,Scalability,Politics
-
-
-
:moneybag:基线
-
:zap:变更的产生,如用户修改需求,管理员想要修改项目策略
:explode:已经通过审批的规格说明或产品,可以作为进一步开发的基础
-
:star:审核机制,制定方针的机制,用户来说是质量保证的机制
:moneybag:SCM Repository
:moneybag:SCI
-
A basic configuration object is a unit of infomation created by a software engineer during some phase of the software development process.
:explode:存有如果发生变更要怎么处理的方法,也存放SCI
-
:moneybag:工具集
:one:版本控制
:explode:产品可能有多个版本,这些都要存储在SCM Repository中
-
-
-
-
:moneybag:Risk
-
-
-
-
-
:moneybag:风险预测
:dagger_knife:风险表
:explode:记录风险名字,风险类型,发生概率,影响程度的表
:moneybag:随着时间推移,对风险的理解也加深,可以进行求精
:checkered_flag:将风险划分成更细的部分,从而更有效管理和规避
:moneybag:如果风险发生了,对这个风险影响的评估
:explode:取决于风险类型,风险范围,风险时间
:moneybag:Review
-
-
-
:recycle:Formal/Informal
:one:Informal Reviews
:explode:简单的临时会议,桌面检查,结对编程
:two:Formal Review
-
-
:moneybag:评审报告
:explode:记录产品是谁,谁参与了评审,结论是什么
In any type of technical review, the focus of the review is on the product and not the producer. :check:
:star:由于各种原因 尽管评审是质量控制的一环,也会被省略不做
:moneybag:需求
:moneybag:分析
:moneybag:建模
:moneybag:需求建模
:moneybag:模型
:one:基于场景的建模
-
:dagger_knife:用例,用户故事
:one:用例
:explode:可以是文本描述,也可以是一个小人的图
:moneybag:补充用例的UML模型
- 2 more items...
:two:基于类的建模
:dagger_knife:类图,协作图
:one:CRC卡片
-
:moneybag:协作
- 1 more item...
-
:three:行为建模
:explode:软件如何对请求做出响应.系统状态,类和事件在这些类上的影响
:dagger_knife:状态图,顺序图
-
:two:顺序图
:explode:状态沿时间从上到下,表明事件从一个对象流到另一个对象
:moneybag:事件
:explode:用户和系统间发生数据交换,就算触发了一个事件
-
-
-
:warning:这本书中,analysis model=requirement model
-
-
-
:moneybag:理解需求
:moneybag:部署怎样的需求呢
:explode:部署对于用户来说,正常,期待,兴奋的需求
:explode:Inception,Elicitation,Elaboration,Negotiation
:star:毕竟是需求阶段,最后限于人力物力等,肯定只能妥协一些
:moneybag:在协商完后,最后要确认需求
:explode:看看这些需求是不是真的我们想要的,真的可以实现目标
:moneybag:可行性研究
:checkered_flag:任务
:explode:经济上是否值得开发,技术上是否能够开发,操作上是否可行=>可行/不可行
:moneybag:研究过程
:explode::one:复查规模和目标 :two:研究目前已存在的系统 :three:设计新系统的逻辑模型(数据流图+数据字典) :four:导出新系统的解法,推荐系统方针
-
:moneybag:数据流图
-
-
:moneybag:符号
-
-
:three:开口矩形/两条平行横线
-
:moneybag:数据编号(D1,D2,...)+数据存储的名称
:four:箭头
-
:moneybag:数据存储和数据处理的关系
:explode::one:数据存储=>数据处理(查询) :two:数据处理=>数据存储(更新,添加,删除)
-
-
-
:moneybag:设计
-
:moneybag:方法
-
:two:体系结构设计
-
-
:moneybag:决策
-
:star:An architectural decision is often documented using an architecture decision description template.
:moneybag:genre
:moneybag:对于每个genre,我们会有一个特定的style来约束 #
-
:explode:describes :one: a set of components :two: a set of connectors :three: constraints :four: semantic models
-
-
-
-
-
-
-
-
:four:构件设计
-
:explode:在进行构件级设计的时候,抽象的设计模型已经大体建立起来了,现在的目标是把设计模型转化成可运行的软件.这种将设计模型转换成源代码的过程中,要遵循的原则,就是构件设计要讨论的问题
:moneybag:构件
-
-
-
-
:moneybag:复用
:explode:标准数据,标准接口规定,程序模板
:tornado:Scrappy中标准数据就是items类,然后接口也是给定的parse,而编码风格也有约束
:moneybag:构件库会很大,到时候要检索所需的构件的话,如果没有很好的对构件的描述,就会产生问题
:explode:3C模型
:explode:Concept,Content,Context
:moneybag:原则
:one:开闭原则
:explode:构件应该可以不用修改内部逻辑,就能扩展出更多功能.Open-Closed Principle
:two:Liskov替换原则
:explode:子类可以替换基类.其实我感觉是说,子类确实实现所有基类功能,并且也遵循基类的一些规则
:three:依赖倒置原则
:explode:依赖于抽象而不是实现.我感觉这样可以更容易拓展,更容易思考
:four:接口分离原则
:explode:不要设计一个通用接口,而是设计多个专用的姐偶
-
-
-
-
:moneybag:用户界面设计
-
-
-
Interface design patterns typically include a complete component-level design (design classes, attributes, operations, and interfaces).
-
-
-
-
Screen layout design has several widely accepted standards based on human factors research :red_cross:
Content objects are not normally chunked into Web pages until the implementation activities begin. :red_cross:
-
:moneybag:Scheduling
:moneybag:Principle
-
-
-
:four:effort validation
:explode:确认任务量是否安排合理,人员是否够
-
-
-
:moneybag:人员和工作量的关系
:explode:如果延长ddl的话,同样工作量可以减少不少人员
:moneybag:40-20-40法则
:explode:前期设计40%,编码20%,后期测试40%
-
-
:moneybag:工具
-
-
:moneybag:定量跟踪进展技术
-
:moneybag:挣值
:explode:项目进展的测量.每个任务都有Budgeted Cost of Work Scheduled,BCWS).然后求和得到总的BCWS,然后我们又知道完成了任务的BCWS和(ACWP),
:moneybag:软件
-
-
-
:moneybag:软件工程
-
实践的本质
:explode:understand the problem, plan a solution, carry out the plan, and examine the result for accuracy
-
:moneybag:项目管理
:moneybag:项目管理涉及的范围有人员,产品,过程,项目
:one:人员
:moneybag:人在开发软件时分成很多团队
-
:moneybag:团队结构
-
-
:three:开放式范型
:explode:封闭+随机.团队沟通好,会主动提出问题
:four:同步式范型
:explode:各自解决各自的问题,很少互相沟通
-
:moneybag:团队负责人
:explode:具有沟通和团结大家的能力,团队负责人不一定是最具竞争力的.
:moneybag:激励
:question:大家开发过程中很沮丧,负责人最好怎么办
-
:two:产品
:moneybag:产品规模的确定
:explode:环境(Context),目标(Information objectives),功能(Function and performance)
-
:moneybag:项目计划应该长什么样
:explode:W5HH原则
- Software engineering tasks
- Work products
- Quality Assurance points
- Milestones
-