Software System Design Ideas

Source: Internet
Author: User

Recently, some students asked me how to better build the entire system by obtaining a software requirement, based on my experience, I will briefly introduce how I designed a software system. Of course, this is just a simple idea of mine. It may be much more complicated when it comes to a large software project.

To design an object-oriented system, follow these steps:

1. Survey and complete a detailed requirement document

1) What functions should the system implement?

2) What are the special performance requirements?

3) What are the technical difficulties? If possible, the technical difficulties should be tested first.

2. Determine the operating environment of the system

1) Operating Systems: widows, linux, unix, etc.

2) programming languages: c/c ++, java, and C #

3) interface interaction environment: console, MFC, WTL, etc.

4) third-party libraries to be used, such as openCV, STL, and Boost

3. Divide system modules and design the overall block diagram

1) which modules can be divided by the entire system in a large direction and which small modules can be further divided.

2) What are the functions provided by each module?

3) how to interact between modules

4. analyze the requirements of the module and abstract various classes that implement the module functions.

1) which classes can be designed in this module and which classes serve as external interfaces of this module?

2) How do classes in the module interact? How do classes between modules interact?

3) when designing a class, consider whether the design can be simplified by inheritance, combination, and other methods.

4) Draw a simple UML design diagram

5. design the attributes and methods of each class

1) What member variables does each class have? What functions are provided?

2) which functions are obtained through inheritance, which functions need to be overloaded, and which functions need to use polymorphism?

3) define the Class header file

6. Implement the functions and integration tests of each class

1) coding to implement the functions of each class

2) based on the previous design, complete the interaction code between classes to implement the functions required by the system

3) Integration and testing, code optimization, and bug Modification

Now, let's simply write this. It just provides an idea and hopes to be useful to new users. Of course, we still need to analyze the specific situation and wish you a smooth learning experience. O (distinct _ distinct) O ~

 

This article from the "three shadows" blog, please be sure to keep this source http://ticktick.blog.51cto.com/823160/697996

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.