MindMap Gallery Software Engineering Fundamentals
This is a mind map about the basics of software engineering. The main contents include: three stages of software, software crisis, software engineering, software.
Edited at 2024-04-13 19:32:34Avatar 3 centers on the Sully family, showcasing the internal rift caused by the sacrifice of their eldest son, and their alliance with other tribes on Pandora against the external conflict of the Ashbringers, who adhere to the philosophy of fire and are allied with humans. It explores the grand themes of family, faith, and survival.
This article discusses the Easter eggs and homages in Zootopia 2 that you may have discovered. The main content includes: character and archetype Easter eggs, cinematic universe crossover Easter eggs, animal ecology and behavior references, symbol and metaphor Easter eggs, social satire and brand allusions, and emotional storylines and sequel foreshadowing.
[Zootopia Character Relationship Chart] The idealistic rabbit police officer Judy and the cynical fox conman Nick form a charmingly contrasting duo, rising from street hustlers to become Zootopia police officers!
Avatar 3 centers on the Sully family, showcasing the internal rift caused by the sacrifice of their eldest son, and their alliance with other tribes on Pandora against the external conflict of the Ashbringers, who adhere to the philosophy of fire and are allied with humans. It explores the grand themes of family, faith, and survival.
This article discusses the Easter eggs and homages in Zootopia 2 that you may have discovered. The main content includes: character and archetype Easter eggs, cinematic universe crossover Easter eggs, animal ecology and behavior references, symbol and metaphor Easter eggs, social satire and brand allusions, and emotional storylines and sequel foreshadowing.
[Zootopia Character Relationship Chart] The idealistic rabbit police officer Judy and the cynical fox conman Nick form a charmingly contrasting duo, rising from street hustlers to become Zootopia police officers!
Software Engineering Fundamentals
software
definition
Computer software is a collection of programs, data, and related documentation
Features
Software is abstract and a logical entity
The software has no obvious production process
There is no problem of wear and aging of the software during use
Depends on hardware and environment
Software is complex and expensive
Many social factors in software development and design
Classified by function
Application software: It is a collection of various programming languages that users can use, as well as applications compiled in various programming languages. Editing software and educational management system software belong to application software
System software: It is software that controls and coordinates computers and external devices, and supports the development and operation of application software. The operating system is system software
Support software (or tool software): It is software that supports the development and maintenance of various software, also known as software development environment. Browsers are support software
life cycle
product proposed
accomplish
use
maintain
Discontinue use (retirement)
software crisis
definition
As the scale of computer software expands, the complexity of the software itself continues to increase, the research and development cycle becomes significantly longer, accuracy is difficult to guarantee, software development costs rise, and production efficiency drops sharply, resulting in a situation where it is difficult for investors to control software development, that is, The so-called "software crisis"
Specific performance
Growing demand for software is not being met
The cost and schedule of software development cannot be controlled
Software quality is difficult to control
Software is unmaintainable or very poorly maintained
Software costs continue to rise
The improvement of software development and production utilization cannot keep up with the development of hardware and the growth of application demand. That is, issues such as cost, quality, productivity, etc.
software engineering
Three elements of software engineering
method
tool
process
Software Engineering Research
Software development technology and software engineering management
Structured analysis
method
Structured analysis method (emphasis on process)
Object-oriented analysis method (emphasis on results)
tool
Data flow diagram: A graphic used to describe the flow of data
Data Dictionary: The Core of Structured Analysis Methods
Decision table: combine conditions into data analysis in the form of a table
Decision tree: continuously subdivide according to different categories to obtain data analysis
Three stages of software
software definition phase
making plans
Requirements analysis and software requirements specifications are the final results of the requirements analysis phase. They are only related to data and documents and have nothing to do with program instructions.
Requirements acquisition
Write requirements specifications
Requirements review
demand analysis
The role of Software Requirements Specification (SRS)
Convenient for users and developers to understand and communicate
A structure that reflects user problems can serve as the basis and basis for software development work
As a basis for confirmation testing and acceptance
Provides a basis for cost estimating and planning schedule preparation
The basis for continuous software improvement
software development stage
software design
Macro (outline design)
Task
Design software system structure
Data structure and database design
Write a high-level design document
Summary design document review
Outline design of commonly used software structure design tools
Structure diagram, also called system structure diagram. The arrowed lines in the structure diagram represent the calling relationships between modules.
About system structure diagram
The deeper the depth and the wider the width, the more complex the system is.
Atomic module: a module located at a leaf node in the tree
The types of data flow in the outline design include transformation type (data will change) and transaction type (data will be distributed and transferred)
Micro (detailed design/partial design/micro design/process design)
Graphical tools: Program Flow Diagram (PFD) (the arrows in the program flow diagram represent the control flow), N-S diagram (block diagram), PAD, HIPO
Table Tool: Determination Table
Language tools: PDL (pseudocode)
Software Implementation
software test
Purpose
The process of executing a program when an error is discovered only finds errors without correcting them. It cannot and is impossible to prove that the program has no errors, and it is impossible to discover all errors.
object
Source program
target program
data
Related documents
method
White box testing: main methods have logic coverage and basic path testing
Black box testing: tests external functions and features. According to the requirements specification, the main methods are equivalence class division method, boundary value analysis method, error speculation method and cause-and-effect diagram.
step
Unit testing: mainly white box testing
Integration testing: Check whether the unit conflicts, focusing on the link, mainly to find errors related to the interface. The basis of integration testing is the outline design specification
Confirmation testing: Verify the effectiveness of the software, based on the software requirements specification, mainly black box testing
System testing: The environment participates in the testing. The test cases are based on the software requirements specifications, focusing on the environment.
software maintenance phase
Use, maintenance, and retirement are the most expensive stages in the software life cycle.
Requirements analysis stage (analyzing data)