"Software Engineering and Computing (Volume II)" - Chapter22-23- software development process model and software engineering professional basis

Class A:
Software life cycle model: requirements engineering software design → → → software → software testing software maintenance software delivery →
 
Requirements Engineering : Building Solutions
The main task :( acquisition, analysis, specification, validation, management)
Requirements Development : Demand obtain , demand analysis , requirements specification , requirements validation
Demand Management
method:
Structured analysis: DFD, ERD
Object-Oriented Analysis Method: use case diagram, FIG conceptual classes, behavior model (the sequence diagram, a state diagram)
 
Software Design : How to completion
Architectural design : high-level design
The method of structuring: the structure of FIG.
Object-oriented: FIG package, FIG member, FIG deploy
The main products: a prototype software architecture, software architecture design model, software architecture design document (outline design document)
detailed design
The method of structuring: the structure of FIG.
Object-oriented: FIG package, class diagram, FIG sequence
The main products: software detailed design model, software detailed design document
HCI design : Design interaction mechanisms, ease of use
 
Software configuration : Software component
Programming, integration, testing, debugging
 
Software Testing : guarantee product quality
unit test
Integration Testing
System test
Method: white box and the black box
 
Software Delivery : User product delivery
Installation and deployment, user training, documentation, support
 
Software Maintenance :
Improve maintenance, adaptive maintenance, corrective maintenance, preventive maintenance
Reverse engineering, reengineering, legacy asset disposal
 
Building - repair model (Build-Fix Model):
Disadvantages: does not consider the basic life cycle. No analysis of the authenticity of the demand. We do not consider the quality of software architecture. He did not consider maintainability.
Scope: software size is very small, less demanding quality, for less demanding post-maintenance program can use.
 
Waterfall model (Waterfall Model): According to an ordered phase to another phase conversion sequence . It requires that each activity must be verified.
Allowed iterations , the results of each activity must be verified , " document-driven "
Requirements engineering software design → → → software → software testing software delivery → Software Maintenance (can be iteratively repeated).
Disadvantages: high expectations document on development activities linear default , the client user participation is not enough , milestone granularity is too coarse .
Scope: demand is very mature and stable, reliable technology, moderate complexity of the project.
 
Incremental iterative model :
The development activities organized into multiple iterations, parallel waterfall development activities . " Demand-driven "
Objective: iterative, incremental delivery, parallel development
Pros: There are better applicability , parallel development of software that can help shorten product development time, progressive delivery can enhance user feedback reduce development risk.
Disadvantages: Join members can not destroy part already constructed, need to complete the project prospects clear.
Scope: relatively stable, mature fields.
 
Evolution Model:
Multiple iterations, parallel waterfall development activities .
advantage:
Iterative development
Parallel development
Gradual strengthening the delivery of user feedback
Disadvantages: can not determine the scope of the project , the whole project is not good grasp, subsequent iterations easily degenerate into Build-Fix mode.
Scope: change more frequently , unstable areas of large-scale systems development.
 
Prototype model (Prototyping): focus on the use of throwaway prototype (uncertain part) rather than evolutionary prototype (prototype becomes part of the product).
Iterative requirements development section (disposable prototype): Prototype Prototype design requirements → → → member Prototype Prototype evaluation.
Advantages: enhanced client users exchange for new fields.
Cons: prototyping bring in time to avoid the risk of new risks , not willing to abandon the prototype .
Scope: more uncertainty in software development.
 
 
Spiral Model (Spiral Model): In order to solve relatively high risk as early as possible. Risk-driven .
Is a combination of iterative and waterfall, use the prototype to address the needs of the uncertainty
Advantages: can reduce risk , reduce losses due to the risks posed project.
Cons: bring their own wind risk, the model is too complex.
Scope: large-scale high-risk software systems development .
⼯ knowledge domain software engineering body of knowledge: (SWEBOK)
Second Edition: (10)
Software lifecycle knowledge: (5)
Software requirements
Software Design
Software configuration
Software testing
Software Maintenance
Software engineering, engineering knowledge: (5) (software engineering required configuration tools to control the production process and software quality )
Software Engineering Management
Software Configuration Management
Software Engineering Process
Software engineering tools and methods
Software Quality
:( the third edition of the new 5) ( professional software engineers need to learn probability theory , linear algebra , advanced mathematics and software engineering )
Software Engineering Professional Practice
Engineering economics foundation
Calculation basis
Mathematical foundation
Engineering foundation
 
Class C:
Rational Unified Process:
Software life cycle: initial, elaboration, construction and delivery
Basic idea: an iterative, requirements management, component-based architecture, visual modeling, verification quality, control changes
RUP tailoring
Features:
Drawing on the traditional best practices
For a wide
Support a set of software tools
Disadvantages:
After delivery of the software without considering maintenance problems
Crop and configuration is not a simple task
 
Agile processes:
Agile Manifesto:
Communication between individuals and their development processes and tools worth
Software can run better than the broad document
Customer collaboration over contract negotiation
Good response to changes than a step by step plan to follow
Agile principles:
(1) as soon as possible, continuous delivery of valuable software to enable customer satisfaction
(2) Even in the latter part of the project, also welcomed the demand for change
(3) the regular delivery of working software
(4) Business people and developers must work together every day
(5) around motivated individuals to build the project
(6) the most efficient information transmission and effects are face to face
(7) can run software is the primary measure of progress
(8) promote sustainable development speed
(9) constant attention to technical excellence and good design enhances agility
(10) Simple
(11) The best architectures, requirements, and designs emerge from self-organizing teams
(12) reflection
 
 
Published 137 original articles · won praise 2 · views 20000 +

Guess you like

Origin blog.csdn.net/m0_37302219/article/details/104363055