Input: Use Case model (Business Model)
Output: Analysis Model (including analysis class, InterAction diagram, sequence diagram, and communication diagram)
Analysis Model:
Boundary class
1. Video Playback class, Control Interface
2. Network Transmission
3. Video Stream capturing
4. audio stream capture
5. Audio Stream playback
Controller type
1. Responsible for resource coordination and action process coordination (whether each use case has one controller)
2. Responsible for object class initialization sequence (such as video)
3. Audio and Video codecs Manager
4. Audio and Video Manager (responsible for initializing and releasing audio and video codecs, starting and pausing the recording and playing functions, and scheduling the video and audio manager for recording and playing, and selecting the encoding and decoder type)
Entity class:
1. Audio Codec
2. Video Coding/Decoding
3. user permission Verification
4. Online User Management
Case 1: Video Encoding Transmission
1. Video Stream capturing
2. Notification control class 1
3. Control Class 1: according to the type, the notification video encoder is coded and the video stream is displayed on the local screen.
4. Video Encoder encoding ends, notifying controller 1
5. Controller 1 sends the encoded data to the network transmission class for transmission.
Case 2: Audio Encoding Transmission
Select different audio encoders.
Case 3: receive video
1. Connect to the Video Server
2. Enter the verification code
3. received the encoded video.
4. Video Decoder called by the Controller to decode the video
5. The decoded video is displayed on the Controller notification page.
Case 4: users can select different video and audio encoding modes to support applications in different environments (because different servers may use different encoders, and the receiving client must
Select different decoding methods based on the server encoding method. After decoding, the decoded data is also sent to the player for playback, whether it is a video player or audio playback)
(This requirement forces us to join the management audio/video encoding manager class (it is actually a controller class and is responsible for selecting different codecs Based on the configuration ),
All video and audio encoders can be added)
Case 5: The user suspends audio and video reception.
This proves that the design of the entire system is driven by use cases. The birth of any class and the distribution of duties are also driven by use cases.