当前位置:网站首页>"Review of software engineering in Wuhan University of technology" Chapter 2 | software process model
"Review of software engineering in Wuhan University of technology" Chapter 2 | software process model
2022-07-22 18:19:00 【Graski】
Catalog
Chapter two | Software process model
【 Basic activities of software development & Life cycle 】
Prototype model , Evolutionary prototype model ( Iterative model ), Incremental model , Spiral model
【 Software process model selection · summary 】
Chapter two | Software process model
【 Basic activities of software development & Life cycle 】
Software Engineering VS Software engineering process :【 Software Engineering 】 Follow certain 【 Software engineering process 】
Software engineering process : Problem definition 、 Requirements development 、 software design 、 Software architecture 、 software test
Problem definition : Carry out technical exploration and Market Research , Study the feasibility of the system and possible solutions , Determine the system to be developed Overall objectives and scope .
Requirements development : adopt Carry out technical exploration and Market Research , Study the feasibility and possible solutions . Analyze user needs , Establish a complete demand analysis model , Write software requirements specifications .
software design : According to the requirement specification , Determine the software architecture , Further design the implementation algorithm of each system component 、 Data structure and its interface, etc .
Software architecture : Transform software design into Program code , It is required to design the program according to the design model and write and test the code correctly and efficiently .
software test : Check and verify Whether the developed system meets customer expectations , It mainly includes unit testing 、 Subsystem testing 、 Integration testing, acceptance testing and other activities .
The basic activities of software process are : analysis 、 Design 、 Realization 、 test 、 Evolution
Software life cycle
The basic process of software development : Get demand → Design software → Realize the writing of software → Validation and testing → Go online and maintain
Software life cycle is a series of stages of software production , From conception to the end of life . It may take months or years to complete
【 Software process model 】
Reference material :
Software process model is an abstract description of software process
Software development is a create The process of , Not the manufacturing process
Waterfall model
What is it? ?
The development phase is strictly linear , Each stage has relevant milestones and delivered products , And it needs confirmation and verification . Take predictability as the principle 、 Document driven development process 、 Process control is the core
characteristic ?
① The division of each stage is completely fixed , A lot of documents are generated between stages
② In the middle of the development process , It's hard to respond to users' change requests
③ Early mistakes , It can't be found until the testing stage in the later stage of development
Applicable scenario
① Software requirements are completely determined at the beginning of development
② The environment used by users is also very stable
Prototype model , Evolutionary prototype model ( Iterative model ), Incremental model , Spiral model
What is it? ?
Prototyping models need to quickly build a working software prototype , It enables users and developers to check the relevant aspects of the system , To decide whether it is appropriate and appropriate .
There are many kinds of prototype models : Evolutionary prototype model ( Iterative model )、 Incremental model 、 Spiral model, etc , Different prototype models have different functions
Reaching agreement on requirements before formal development can effectively improve customer satisfaction and software availability , Rapid prototyping development model is designed based on this idea
What kinds are there ?
1. Incremental model : Gradually add functions in each new release until all functions are constructed .
2. Iterative model : Submit a complete system at the beginning , Supplement and improve the functions of each subsystem in the subsequent release .
3. Spiral model : By planning 、 risk analysis 、 Build a prototype 、 User reviews , Consider various risks at all stages
4. Evolutionary prototype model : Develop a skeleton system and improve it
Applicable scenario
【 Prototype model 】 Apply as much as possible Quickly build software prototypes , To reflect customer needs
【 Spiral model 】 Apply to Large software Development ( Constant change 、 Business uncertainty )
【 Evolutionary prototype model ( Iterative model )】 For all Requirements are not well understood at the beginning of development , There is uncertainty in the business model , The system is easy to maintain and change
Unified process model
What is it? ?
Is a use case driven 、 Take architecture as the core 、 Iterative and incremental software process model , from UML Methods and tools support , It is widely used in various object-oriented projects .
Applicable scenario
Modern large-scale information technology projects
Agile development model
What is it? ?
characteristic ?
① Precise requirements , Precise results
② The quality is guaranteed
③ Customer cooperation is better than contract negotiation
④ High return on investment
⑤ High speed is one of the most significant advantages of agile development
Applicable scenario
① The team is huge , Communication and cooperation efficiency is low , Convenient for management team
② Hope to manage the development schedule efficiently
③ The product is complex , New demands are constantly coming in
Agile Manifesto
【 Individual interaction Is better than Process and tools 】 People are the most important factor for success
【 Working software Is better than A comprehensive document 】 Documents should be moderate
【 Customer cooperation Is better than Contract negotiation 】 Win win is better than lose win
【 Change accordingly Is better than Follow the plan 】 Make a detailed plan for the next two weeks , Make a rough plan for the next three months
Agile Manifesto の 12 A basic rule
Agile development method
Agile development method is the general name of a group of lightweight development methods , It includes many specific development processes and methods , The two most influential methods are Extreme programming (xp) (XP) and Scrum development method .
【 Software process model selection · summary 】
【 Waterfall model 】① Software requirements are completely determined at the beginning of development ② The environment used by users is also very stable
【 Prototype model 】 Apply as much as possible Quickly build software prototypes , To reflect customer needs
【 Spiral model 】 Apply to Large software Development ( Constant change 、 Business uncertainty )
【 Evolutionary prototype model ( Iterative model )】 For all Requirements are not well understood at the beginning of development , There is uncertainty in the business model , The system is easy to maintain and change
【 Unified process model 】 Modern large-scale information technology projects
【 agile development 】① The team is huge , Communication and cooperation efficiency is low , Convenient for management team ② Hope to manage the development schedule efficiently ③ The product is complex , New demands are constantly coming in
*【 Convertible model 】 The requirements for safety and reliability are extremely high , It needs to be verified before putting into operation . Such as ABS System
【 Unit test questions 】
choice question
Differentiation and analysis :
Software engineering is a subject of research and Application In a systematic way 、 Standardized 、 Quantitative process method to develop and maintain software , And how to Combine time tested and proven management techniques with the best available techniques The subject of .
The software process is a process to be followed in the implementation of software engineering , By software specification 、 Software design and development 、 Software Validation 、 Software improvement and other activities
Judgment questions
Software requirements specification plays an important role in the process of software development , It is the basis of software feasibility analysis . F ( Software requirements specification is not the basis of software feasibility analysis )
Short answer
The following project examples , Which process model is suitable for use ?
边栏推荐
猜你喜欢
女嘉宾报名
Installation and introduction of Lin UI component library of wechat applet - Advanced
QT笔记——Qt动态属性 之 unpolish() 和 polish()
QT笔记——QtXml
Yunyuanyuan (10) | introduction to kubernetes in kubernetes
QT notes - vs generating multiple exe files for a project
计算机网络学习笔记7-TCP编程流程及面试题
zmq无锁队列的浅解
QT笔记——eventFilter事件过滤器
What level do programmers need to reach to get 20K monthly salary without pressure?
随机推荐
GBase8sUNION ALL 运算符
Rk3399 platform development series explanation (alsa subsystem) 4.37, alsa driven framework
Rk3399 platform development series explanation (memory chapter) 15.33. Why does the available memory far exceed the physical memory?
融合注意力机制和BSRU的工业互联网安全态势预测方法
Computer Graphics From Scratch - Chapter 4
Go has a simple understanding of the interface
Reversible information hiding method of image in ciphertext domain based on fine-grained embedding space reservation
Dr. water
vmware虚拟机和vsphere相互迁移
GBase8s数据库约束模式的保持
Multi type low rate DDoS attack detection method based on hybrid deep learning
如何破解IT中年危机下的惨淡人生
qt5.12 + vs2019 无法定位程序输入点 于动态链接库
Verilog基本语法(2)
Anaconda 环境迁移
shell脚本使用expect自动化交互登录远程主机进行批量关机
「武汉理工大学 软件工程复习」第七章 | 软件测试
QT笔记——QJson
Qt|编辑框的使用总结
Solve typescript error: a computed property name in an interface must refer to an expression why type