Software = Science + technology + engineering, the success or failure of software, the primary task of Software Development

Source: Internet
Author: User
  • Science
    It refers to the data structure and algorithm, Computing Theory-Theoretical Level
  • Technology
    It mainly includes: programming languages, operating systems, and other specific technologies-Technical Level
  • Engineering
    Including: software architecture, development documentation, project management, various tests, etc-Management Layer
Quotations:
  1. Software always has bugs, no one knows where it will be; Software always changes, but no one knows where it will change
  2. No one can write code without any bugs at a time.
  3. Writing a program is a process of constantly correcting errors. First, before writing a program, you must have a standard and method to judge right and wrong. This isTest.
  4. An error always exists. It is important to find it when an error occurs, especially in an environment without a debugger at the customer's site. Sometimes, there is only one means:Logs.
  5. Do not overwrite the original functions when you modify them, because in most cases, the customer wants to have both new functions and retain the original functions.
  6. To get the output, your code not only requires input, but also relies on other components. Therefore, during testing, you must not only change the input, but also change the dependency.

 

Criteria for software success or failure:
  1. Whether Correct & Stable meets functional performance requirements and runs stably
  2. Easy to use User Experience
  3. Bugs are fixed quickly: if an error occurs, can you quickly find the root cause of the error?
  4. Smoothly upgrade smooth upgrade

 

Main tasks of software development:
  1. Correctness. The reality is: no one can write the correct code at a time. The Code always has more or less problems. So what should I do once a problem occurs?
    1. Ensure the correctness of requirement understanding by: Requirement documents, Prototype, and user test cases.
    2. Ensure the correctness of requirements. The methods include unit testing.
    3. Ensure that known errors/exceptions are correctly handled
    4. Ensure that the running bug can be quickly solved by using the following methods: Logging
  2. Scalability. No unmodified code.
    1. How to ensure the correctness of code modification?
    2. How can I upgrade the software on the client?

 

Software Components
Input Output
Dependencies MY CODE

 

How can we test whether our code is correct?

  • Determine Input and Output
  • Determine Dependencies
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.