Software Maintenance
After the software is delivered.
More than 70% of the entire life cycle workload, very high cost
Type:
1. Correctness Maintenance (Error)
2. Adaptive maintenance (external environment, Data environment, market, management needs)
3. Perfect maintenance (new function, performance)
4. Preventive maintenance (maintainability, reliability, future change)
Serviceability: Ease of understanding, correcting, adapting, and enhancing functionality
Metrics: Understandable, testability, modifiable, reliability, portability, usability, efficiency
Methods: Quality check list, quality test, quality standard;
Improve maintainability: Clear objectives, priorities, advanced technology, tools, clear quality assurance, select maintainable programming languages, improve documentation, and consider maintenance during development
Unstructured maintenance: Only program code, no design documents, test documents
Structured maintenance: Complete software configuration, starting with the evaluation document
Maintenance factor: System size, programming language, System age, application of database technology, advanced software development technology;
Documentation: The decisive factor, more important than the code.
Categories: User documentation, development documentation, administrative documentation, system documentation
Software re-engineering: refactoring
Inventory Catalog: Analyze what needs to be re-engineered;
Reverse engineering: A higher level of abstraction, extracting design information. The process of designing data based on a product that exists
Forward Engineering: New features, high performance
Refactoring: Adjust program code to improve quality, performance, design patterns, architecture, extensibility, maintainability. Do not modify the architecture, focus on design details, local data structure
Project management: Planning, organizing, coordinating, controlling
Use: knowledge, skills, tools, technology
5 Elements: Technology, methodology, team building, information, communication
Error management
Risk management: Crisis management, failure handling, risk mitigation, prevention, elimination of root causes
Includes: risk assessment (identification, analysis, prioritization), risk control (management, mitigation, monitoring)
Personnel Management:
Project metrics: Software metrics, quality metrics, inheritance metrics
Risk management: Throughout the entire project process
Database
Data dependency
1. Function dependency: Functional DEPENDENCY,FD.
Trivial function dependency, non-trivial function dependency
Full function dependency, partial function dependency
transitive function dependencies
2. Multi-valued dependency: multivalued DEPENDENCY,MVD.
"1:0...*", 1 to many.
As long as you know a multivalued dependent x→→y on R, you can get another multivalued dependent x→→z, and X, Y, and Z are the divisions of U; "(2)" shows that multivalued dependency is a generalization of function dependency, and the function dependency is a special case of multivalued dependence.
3. Other
Code
Candidate Code:
Main property, non-primary property
Full size:
External code:
Type of Paradigm:
1NF: attribute is not divided
2NF: The non-primary attribute is completely dependent on the code
3NF: No dependency between non-primary attributes
BCNF: No dependency between primary attributes
4NF:
Standardization:
Purpose: Eliminate INSERT, delete exception, modify complex, data redundancy
Essence: The single of the concept
Basic idea: Phasing out inappropriate portions of data dependencies
Attention:
Inference rules:
1. Reflexive law
2. Augmented law
3. Transfer Law
4. Merger rules: 1,3 can be proven
5. Pseudo-pass rule: 2,3 can be proven
6. Decomposition rules: 1,3 can be proven
Closed Package
Overwrite = equivalent
Minimal function Dependency set = Minimum function dependency set = minimum overwrite
Result: not unique
Decomposition:
Method is not unique, relational schema is equivalent
function Dependencies : Mitigating and resolving various anomalies
Lossless connection : equal to the result of a natural connection
Decomposition does not lose information; it is not always possible to resolve insert exceptions, delete exceptions, modify complex, data redundancy ... Problem
Artificial intelligence
To find the optimal solution and approximate optimal solution:
1. Enumeration method: Suitable for small enumeration space
2. Heuristic algorithm: Find the unique heuristic rules
3. Search algorithm: Search in a subset of the feasible solution set
Genetic algorithm:
Adaptive global optimization Probabilistic search algorithm. The approximate optimal solution and satisfactory solution are obtained.
Nature: Simulation of the genetic and evolutionary processes of organisms
Features: Strong adaptability, high optimization force
Defined:
Xi: a genetic gene;
Allele: all possible values.
Genetic operator: Search for the optimal solution. Similar: cross, variation between chromosomes
Select: Selection. According to the individual's adaptability, according to certain rules, methods
Cross: Crossover. Crossover probability
Variation: Mutation. Mutation probability
Characteristics:
1. The most computationally important object is the encoding of the decision variable: not the value of the decision variable
2. Use the value of the target function directly as the search information: individual fitness. And not the derivative of the function.
3. Search information using multiple search points at the same time: not a single search point
4. Using Probabilistic Search Techniques: Adaptive probabilistic search techniques, rather than deterministic search methods. The probability converges to the optimal solution. Crossover probability + mutation probability
Applications: function optimization, combinatorial optimization, production scheduling problems, automatic control, robotics, image processing, artificial life, genetic programming, machine learning
Improved:
1. Adaptive mutation: Prevent "inbreeding". The difference between parents was small, the large mutation rate was selected (enhanced search ability), the difference between parents was large, and the smaller mutation rate was chosen (to prevent the destruction of good individuals).
2. Partial substitution: Some individuals are replaced by new individuals, and other individuals enter the next generation directly.
3. Excellent individual protection law: a certain number of optimal individuals, directly into the next generation
4. Distributed genetic algorithm: divided into several subgroups, relatively independent, closed (to ensure the adequacy of the search, global optimality); periodic migration of a certain proportion (to prevent local optimal convergence)
Basic genetic algorithm: Simple genetic algorihms, SGA
Only the selection operator, crossover operator and mutation operator are used. Three kinds of basic genetic operators
Fixed-length binary symbol string: Represents an individual in a group
Allele: {0,1}.
1. Chromosome encoding method
2. Individual fitness Evaluation: Determine the probability of being genetically transmitted to the next generation of groups, proportional. Adaptability: non-negative, convertible
3. Genetic operators:
Proportional selection Operator: There is a return random selection, the choice of the bet.
Single-point crossover operator: Most commonly used, the most basic. 22 pairing; random intersection; cross-swap chromosome
The basic bit mutation operator: probability selection mutation point, gene value inversion;
4. Operating parameters of the basic genetic algorithm
Attention:
Ant Colony algorithm:
Simulation: Ant colony Search for food source optimization ability. Information exchange and collaboration among individuals. Positive feedback phenomenon
Solution: Discrete system optimization problem. Random search algorithm. Leverage overall information
1. Adaptation phase: The information of candidate solution accumulation, constantly adjust its structure
2. Phase of Collaboration: information exchange to produce better solutions
Advantage: No prior knowledge required, random path selection. With the "understanding" of the solution space, it tends to be optimal
1. Memory: Taboo list, with time, select dynamic adjustment
2. Pheromone communication:
3. Cluster activity: Group intelligence establishes path selection mechanism. Self-catalysis, positive feedback, enhanced learning system
Algorithm: Ant-Ring algorithm,
2015 first half software designer Test Center, difficulty 3