[Introduction to Soft Engineering ③] Experiment Report 1 ( requirements analysis and modeling, overall structure design, detailed design, and testing of the laboratory equipment management system)
1. Requirements analysis and modeling of traditional software engineering
1. Purpose and tasks
Purpose: To determine what the project will do and its practicability, and on this basis to complete the establishment of the logical function model of the system.
Task: Different requirements analysis techniques can be used to complete the requirements analysis process of the project, and the logical function model, data dictionary and specifications of the system are given.
2. Content and requirements
1. Experiment content and requirements:
Familiar with the business process of the system project, draw the system data flow diagram, function analysis diagram, write the data dictionary, data processing description and software system flow diagram (new system model) according to the existing information, and complete the system requirement specification.
2. Prepare reference materials and read relevant national standard documents on software development.
Data flow diagram:
Top-level data flow diagram:
Layer 0 data flow diagram:
3.4 Data dictionary:
- data flow entry
Relevant restrictions = professional title of the teacher + number of classes attended + maximum weekly hours + minimum weekly hours
Teacher's title = professor + graduate student
Teaching plan = course name + course code + class hours + class category + class number + planned class hours + class combination coefficient
Class category = undergraduate + junior college + adult education + graduate
Teaching plan = course name + class category + class number
Teaching task book = course name + course code + class hours + class category + class number
Class schedule = course name + course code + class hours + class category + class number
Teaching task = course name + course code + class hours + class category + class number
Qualified list = course name + course code + class hours + class category + class number
Passed plan = faculty number + course name + course code + class hours + class category + class number
Failed personnel = faculty number
Pass list = faculty number + course name + course code + class hours + class category + class number
- datastore entry
File Name: Course Information
Composition: Faculty ID + Course Name + Course Code + Class Hours + Class Category + Class Number + Restrictions + Planned Class Hours +
Combined class coefficient + {selected|not selected}+{passed|failed}
Organized by: index file, keyed by course code
File name: Teaching task book
Composition: Faculty ID + Course Name + Course Code + Class Hours + Class Category + Class Number + Planned Class Hours + Combined Class Coefficient
Organized by: index file, keyed by course code
File Name: Student Information
Composition: student number + class number + password
Organization method: index file, with student number as the key
File name: teacher information
Composition: Faculty ID + password + whether the teaching plan passes the limit conditions + whether there is a serious teaching accident
Organization method: index file, with the teacher number as the key
File name: Personnel Information
Composition: academic affairs number + password
Organization method: index file, with the academic affairs number as the key
(3) Data item
Course Name: Alias: None
Type: Character
Length: 2{Chinese characters}15
Course Code: Alias: None
Type: integer
Length: 5 digits
Class Hours: Alias: None
Type: integer
Length: 2 digits
- processing items
Processing name: Educational Affairs Management System
Number: None
Input: Lesson Plan, Lesson Plan, Constraints
Output: Teaching task book, class schedule
Processing name: input storage processing
Number: 1
Input: Relevant Limits, Lesson Plan
Processing logic: Add relevant restrictions to the approved teaching plan and put it into the course information
Processing name: student inquiry
Number: 2
Input: Student Information
Output: class schedule
Processing logic: If is a student
Then change the teaching task book into a class schedule
Else exit
Processing name:
Number: 3
Input: lesson plan, teacher information
Processing logic: if qualified
According to the set conditions, it is judged whether it is a qualified plan
Processing name: limited condition
Number: 3
Input: lesson plan, teacher information
Processing logic: If qualified
Then modify course information
Else modify the teacher information to show that the teaching plan fails the qualification
Processing name: teacher inquiry
Number: 4
Input: Faculty ID
Output: teaching tasks
Processing logic: If is a teacher
Then give teaching tasks according to the teaching plan
Else exit
Processing name: Office of Academic Affairs
Number: 5
Input: Academic Affairs Number
Output: Teaching task book
Processing logic: if is the academic staff
Then if approved
Then download the teaching plan
Else modify course information
Else exit
2. Overall software design
first part
Data flow diagram:
Software structure diagram:
the second part
Data flow diagram:
Software structure diagram:
the third part
Data flow diagram:
Software structure diagram:
fourth part
Data flow diagram:
Software structure diagram:
the fifth part
Data flow diagram:
Software structure diagram:
3. Software detailed design
1. Purpose and tasks
Purpose: To complete the establishment of the system architecture and detailed system design on the basis of the previous experiment
Task: Carefully analyze the results of Experiment 3, give a reasonable system structure, draw a system structure diagram, and reasonably divide the components of the system.
2. Content and requirements
1. Experiment content and requirements:
(1) Use the data flow-oriented design method (textbook P48-P52) to derive the system structure diagram from the data flow diagram of the demand analysis, optimize it, and draw the system software structure diagram.
(2) Select a module to describe its program flow chart.
(3) Understand the use and characteristics of NS diagram, PAD diagram, decision table and decision tree.
1. Detailed Design Part 2
Judging the account information entered by the students and checking the validity.
2. Detailed Design Part 3
Judge whether the teaching plan submitted by the teacher meets the requirements.
4. Test
1. Purpose and tasks
Purpose: Select a module for coding on the basis of Experiment 4, and complete related tests.
Task: Correct application of software testing techniques and methods.
2. Content, requirements and arrangements
1. Improve the program block diagram designed by the system, select the appropriate module, complete and unit test, and complete the test report.
2. Be able to correctly use the process and method of software testing, combined with the selected project, review and consolidate the knowledge related to testing in software engineering, and improve the practical ability of software testing.
1. On the basis of the above experiments, use the white box technology to test the third module
Test with base path
1. Draw the corresponding program diagram according to the detailed design results:
4: Whether the number of lectures taught by the teacher is less than 2
5: Is the teacher's annual workload between 300 and 600?
6: Has the teacher had any serious teaching accidents?
2. Get the circular complexity V(G)=P+1=4 of the program graph
3. Path 1: 1-2-3-4-8-9
Path 2: 1-2-3-4-5-8-9
Path 3: 1-2-3-4-5-6-8-9
Path 4: 1-2-3-4-5-6-7-9
Path four among the four paths satisfies the condition, and it is entered into the course information.
These four paths make up the number of test cases shown in the figure above. As long as the test cases ensure that these basic paths
The execution of the path can prove that the corresponding source code and program logic in the program are correct.
- Export test cases. A set of elementary program paths is derived through the elementary paths of the program flow diagram.
- Prepare test cases to ensure the execution of each path in the basic path set.