Everyone thinks the writing is okay, you can like, bookmark, and pay attention to it!
You can also visit my personal blog , it is estimated that it will be updated in recent years! Be friends with me! https://motongxue.cn
Article directory
overview
Software and the Software Crisis
-
Software engineering comes from the software crisis
software life cycle
software development model
waterfall model
-
features
-
Disadvantages: In the requirements analysis stage, when the requirements are determined, it is impossible to verify whether the requirements are correct and complete in time, and there is a lack of flexibility.
rapid prototyping model
- Quickly build a runnable program, and the functions he completes are often a subset of the final product functions
incremental model
spiral model
feasibility study
Purpose
- Purpose: The purpose of the feasibility study is to determine whether the problem can be solved in the shortest possible time with the minimum cost
- substance:
- Feasibility in four main areas
- economic feasibility
- technical feasibility
- operational feasibility
- legal feasibility
Steps in Feasibility Study
- Review and determine system size and goals
- Research the system in use
- Establish a high-level logic model of the new system
- Export and evaluate various scenarios
- Recommend a feasible plan
- Draft a preliminary development plan
- Prepare a feasibility study report and submit it for review
System flow chart
- definition
- common symbols
Cost-benefit analysis
- Purpose: It is to evaluate whether it is feasible to develop a new software project from an economic point of view, and to help the user department make a correct decision on whether to invest
- system cost
- Development costs
- Operation and maintenance cost
- System benefit
- tangible economic benefits
- intangible social benefits
- cost estimate
- line of code technology
- task decomposition technique
- Cost/Benefit Analysis Methodology
- Time value of money:
F = P(1+i)
- payback period
- net income
- ROI
- Time value of money:
Software Requirements Analysis
Requirements Analysis Task
- Determine the comprehensive requirements for the system
- Functional Requirements
- performance requirements
- Reliability and Availability Requirements
- error handling requirements
- interface requirements
- constraint
- reverse demand
- may be required in the future
- Analysis System Data Requirements
- Create a logical model of the software
- Writing Software Requirements Specifications
- needs analysis review
Steps in Needs Analysis
- Requirements Acquisition: Survey Research
- Requirements Extraction: Analytical Modeling
- Requirements description: write SRS
- Requirements Verification
Common ways to get requirements
- customer interview
- Create a conjoint analysis team
- Problem Analysis and Confirmation
Requirements Verification
- Consistency: Ensure that requirements cannot contradict each other
- Completeness: Be able to describe every function or performance that users need
- Reality: The defined requirements can be realized through existing software and hardware technologies
- Effectiveness: Proving that it actually solves the problems faced by users
analytical modeling
Entity Relationship Diagram
ER diagram
state transition diagram
hierarchical block diagram
Venus diagram
IPO chart
data flow diagram
- definition
- common symbols
Data Dictionary
- Definition: It is a collection of information about data, that is, a collection of definitions for all elements contained in the data flow diagram
- Content: data flow, data flow components (data elements), data storage, processing
- How to define data:
- The way data is composed of data elements: sequential, selective, repeated, optional
- Purpose: To provide people with descriptive information about data in the process of software analysis and design
- as a tool in the analysis phase
- Estimate the impact that changing a data will have
- is the first step in database development
Judgment table
Usually consists of four parts.
- List of conditions: all relevant conditions
- Action List: Definition of actions.
- Condition combination: the value combination of each condition.
- Corresponding action: the operation performed under each condition value combination.
Sample
Duty Allowance Calculation Decision Form
decision tree
- A decision tree is a graphical representation of a decision table
- It has roughly the same function as the judgment table, but it is more intuitive than the judgment table, and is easy to understand and master.
- example
Overall software design
Database Design
- From a practical point of view, data normalization chooses the third normal form in most occasions
Software Detailed Design
mission and purpose
- Fundamental purpose: to determine how the required system should be realized concretely
- Task: Design the "blueprint" of the program, and the programmer codes according to this blueprint
Detailed Design Tool
Program flow chart
Box plot (NS plot)
Basic control structure:
- order
- choose
- cycle
shortcoming:
- Premature consideration of control flow without regard to the overall structure of the program
- prone to unstructured program structure
- Not easy to represent data structures and hierarchies
Problem Analysis Diagram (PAD Diagram)
Process Design Language (PDL)
object-oriented methodology
object-oriented model
To develop software with object-oriented method, it usually needs to establish three kinds of models
: object model, dynamic model and function model .
- Object model: describes the data structure of the system, and is the most critical, basic, and core model in the target system;
- Dynamic model: describes the control structure of the system;
- Functional Model: Describes the functionality of the system.
exercise
- The complete software structure is usually represented by a HIPO diagram
- In the technical design of the white box method, the statement is the weakest coverage standard
- The structured life cycle method is often used in software development, and it is generally called the waterfall model because of its characteristics
- The common feature of the three basic control structures of the program is that there can only be one exit and one entry
- Confirmation testing in the software testing process is mainly to find errors in the requirements analysis phase
- The most important part of software maintenance work is integrity maintenance
- The most expensive phase in the software life cycle is the software maintenance phase
- The basic task of detailed design is to determine the algorithm design of each module
- The structured analysis method is a method of demand analysis for data flow. The structured analysis method is described using data flow diagram DFD and data dictionary DD.
- Large-scale software testing includes four steps: unit testing, integration testing, confirmation testing, and system testing.
- The basic four components of the data flow diagram: source and destination, processing, data flow, data storage files.
END
This document is for final review! No systematic elaboration!
Updated on July 5, 2021
Everyone thinks the writing is okay, you can like, bookmark, and pay attention to it!
You can also visit my personal blog , it is estimated that it will be updated in recent years! Be friends with me! https://motongxue.cn