Software development is built according to user requirementssoftware systemOr the software part of the system.Software development includes requirements capturerequirement analysis, design, implementation and testingsystems engineering。Software generally uses some kind ofProgramming languageTo achieve.UsuallySoftware development toolsIt can be developed.Software is divided into system software and application software, not only including programs that can run on computers, but also files related to these programs are generally considered as part of software.software design The general process of ideas and methods, including the functions of the design software, the algorithms and methods implemented, and the overall softwareStructural designandModule design, programming and debugging, program joint debugging and testing, and then writing and submitting the program.[1]
Chinese name
software development
Foreign name
Software development
Meaning
The behavior of writing specified software according to user requirements
Overall definition of the problem to be solved, including understanding the user's requirements and real environmentsocial factors Research and demonstrate the feasibility of this software project from three aspectsFeasibility study report, discuss solutions to problems, estimate the cost of available resources (such as computer hardware, system software, manpower, etc.), the benefits to be achieved and the development progress, and formulate the implementation plan for completing the development task.
2 Analysis
Software requirement analysis is a systematic analysis and assumption of what kind of software to develop.It is a way to eliminate the rough and extract the essence, eliminate the false and retain the true, correctly understand the user's needs, and then use the software engineering development language (formfunction specification , that is, the requirements specification).The basic task of this stage is to work with the user to determine the problems to be solved and establish the softwarelogical model, prepare the requirement specification document and finally get the user's approval.requirement analysisThe main methods ofStructured analysis method、Data flow chartanddata dictionaryEtc.The work of this stage is to design and establish correspondingsoftware systemOfArchitecture, and set the entireSystem decompositionInto severalSubsystemOr module, defining the interface relationship between subsystems or modules, defining the specific design of each subsystem, and writing softwareOutline designandDetailed Design Specification, database ordata structureDesign specification,Assembly testPlan.In any software orsystem developmentThe initial stage ofuser demand In order to prioritize which functions should be implemented, which specifications should be adopted, and which restrictions should be set in the following system development process.System EngineerEventually, it will be completed accordinglydesign schemeOn this basis, the subsequent program developmentsystem functionAnd performance descriptions and limitations.
Software coding refers tosoftware design To convert into a program acceptable to the computer, that is, to write a program with aProgramming languageRepresented“source programList ".Fully understanding the characteristics and programming style of software development languages and tools will helpdevelopment toolAnd ensure the development quality of software products.
In the current software development, except for special occasions, the 1980shigh-level languageIt is replaced by an object-oriented development language.And the object-oriented development language and development environment are mostly integrated, which greatly improves the development speed.
5 Test
software test The goal of is to find as many errors as possible at a small cost.The key to achieving this goal is to design an excellent set of testsUse Case(Test data, functions and expected output results formtest case)。The key to how to design an excellent test case is to understandtest method。Different test methods have differenttest case design method.Two common test methods areWhite box methodThe test object issource program, based on the internalLogical structureTo find software programming errors, structural errors and data errors.Structural errors include logicdata stream, initialization, etc.The key of use case design is to cover as many internal program logic results as possible with fewer use cases.White box method andBlack boxThe method is based on the description of software function or software behavior, and the interface, function and structure errors of software are found.The interface error includes internal/External interface、resource management, integration, and system errors.The key of black box use case design is also to cover module output andInput interface。
6 Maintenance
Maintenance refers to the software products after the software development (analysis, design, coding and testing) has been completed and delivered for usesoftware engineeringActivities of.That is to say, according to the running condition of the software, the software shall be properly modified to adapt to the new requirements and correct the errors found in the running.Prepare software problem report and software modification report.
If it takes one to two years to develop a medium scale software, after it is put into use, its operation orworking hoursIt may last five to ten years.Then itsMaintenance phaseIt is also the five to ten years of operation.During this period, people almost need to start to solve various problems encountered in the development stage, and also solve some problems unique to the maintenance work itself.Doing a good job in software maintenance can not only remove obstacles and make the software work normally, but also expand its functions, improve its performance and bring obvious benefits to userseconomic performance。Unfortunately, yessoftware maintenanceThe emphasis on work is often far less than that on software development.In fact, compared with the software development, the workload and cost of software maintenance are much larger.
In the actual development process, software development is not from the first step to the last step, but at any stage, there is usually one or several steps of backtracking before entering the next stage.stayTest processThe problems in may require modification of the design, and the user may propose some needs to modify the requirements specification.
Facility demand
Announce
edit
1 Development platform
Software development platformIt originates from the tedious process of practical development.Developers summarize and encapsulate commonly used functions, classes, abstractions, interfaces, etc. in practice, making them reusable“middleware ”However, with the maturity and versatility of "middleware", its functions are more powerful and can meet the requirements of enterprise levelcustomer demandThe software development platform came into being.
The platform isScientific research achievementsThe convergence is also a symbol of the stage platform period, which provides a basis for the industry to enter new research and development fields.Because the platformEnterprise core competitivenessThe improvement is very obvious. The application of software development platform in the domestic management software market has become a trend.
The software development environment database is a knowledge-based information database for software workersdata objectIt is diversified and intelligent.The software development database is used to support varioussoftware tool, especiallyAutomatic design tools、CompilerActive or passive work of etc.
The primary SDE database generally contains general subprogram library and reconfigurable program processingInformation base, module description and interface information basesoftware test And error correction basis information base;A relatively complete SDE database should also include feasibility and demand information archives, stage design detailed archives, test driven databasessoftware maintenanceArchives, etc.A further requirement is to automate the whole process from software planning to implementation and maintenance, which requires SDEdatabase systemIt is intelligent, and the basic intelligent result isSoftware codingAutomatic implementation and optimization of software engineering projectsSelf analysisAnd summary.Such intelligent results should also be actively reconstructed and learned to enrich the knowledge, information and software accumulation of SDE database.At this time, the software development environmentsoftware engineeringAppropriateness of personnelExternal controlOr help gradually move towards high intelligence and automation.
The basis of software implementation is computer language.Today,computer languagedevelopment toAlgorithmic language、Database Language, IntelligentSimulation languageAmong dozens of important algorithmic languages, C&C++Language has increasingly become a close partner of the vast number of computer software workers, not only because of its powerful function and flexible structure, but also because it provides highly structured syntax, simple and unified software construction mode, making the design and construction of subprogram library, the basic component of SDE database mainly constructed by it, extremely convenient.
3 Development language
Common software development languages:JAVA、C/C++/php/JSP/ASP/POWERBUILDER/DELPHI/.NET/C #/vb/etc.
The most important database for application is MySQL/SQLSERVER/ORACLE.
Professional needs
Announce
edit
Professional training
Software development majors mainly cultivate morality, intelligence and physiqueComprehensive developmentIt has certain advanced practicality in computer software and hardware maintenance, network establishment, maintenance managementTechnical talents。Through the study of this major, can skillfully master the use, maintenance and skills of common computer software;In terms of hardware, students should understand the development of computer hardware and master itComputer assemblyBe able to skillfully use application software to detectComputer performance. The scope of the fault and the general handling method of hardware fault;In terms of network, students should master the technical characteristics of today's popular networks, master network engineeringnetwork maintenance、network securityAnd application knowledge.Be competent for the design, establishmentnetwork maintenance, and simpleConstruction and maintenance of website。
The suitable job for graduates of this major is computerProgrammer。It is suitable for skillfully developing software according to engineering ideassoftware test Can take various positionsenterprises and institutionsAnd all levelsengineering constructionThe computer software and hardware maintenance, network establishment and maintenance of departments and management departments can also be engaged in computer research and application, software development and other work.It can be divided into the following aspects:
oneVisual programmingMaster programming methods andVisualization technology, proficient in a visual platform and its software development technology.Get Delphi programmer seriesJavaPrimary orVBDevelopment expert certification.Employment direction: visual programming programmers in enterprises, governments, communities, various schools, etc.
2. WEB application program design has artistic foundation and webpage animationDesign capability, master the design technology of interactive webpage program, and be able toWebsite constructionAnd maintenance.obtainMacromediaMulti-MediaInteractive designerOr DelphiJunior programmerOr Delphi fast network development engineer certification.Employment direction: enterprise, government, community, various schools and other web application programmers.
5 Graphic and image production Proficient in internationally popular graphic/image production tools (such as CorelDraw, Photoshop, Pagemaker, etc.).obtainGraphic designerRelevant certification.Employment direction:Advertising productionCompanies, architectural design companies, packaging and decoration design companies, living roomsdecoration company、Publishing and printingCompany.
6. Familiar with network construction technologynetwork structureAnd networking methods, master networking methods, and be able to use tools to analyze and eliminate common problemsNetwork failure。Get Cisco routing configuration orHuaweiNetwork engineering or AMPApplication Engineerauthentication.Employment direction: network construction engineers in enterprises, governments, communities, various schools, etc.
sevenNetwork systemManagement Master the basic knowledge and application skills of network system management, and be able to set the security of network system.Obtain Window2000 Server or TurboLinux TLCE or Cisco routing configuration expert certification.Employment direction: enterprises, governments, communities, various schools and other networkssystem administrator。
Multimedia production has the ability of multimedia programming and multimedia production planning.Basic masteryObject-oriented programmingAnd modeling, modeling design, scene designSplit shotPrinciples and other skills.obtainMultimedia DesignTeacher related certification.Employment direction: Multimedia design and production company, animation art production and publishing company, advertising production company.
9 Computer office application Proficient in office automation application and management, familiar with server installation, management and maintenance, based onapplication server Related services and software systems, with network security settings for servers, e-mail, web page publishingFTP、OA, BBS and other systems.Employment direction: enterprises, governments, communities, various schools, etcsystem management
Software RequirementsTools, including requirements modeling tools and requirements tracking tools.
Software design tools are used to create and check software design. Because of the diversity of software design methods, there are many kinds of such tools.
Entrusted software development is generally to prepare software suitable for the production or business characteristics of the user (the client). Such software is usually unavailable in the market or can be used only after being purchased in the market and needs to be modified. However, the user does not have the ability to develop or modify software, and must entrust others in certain software to developThe organization that modifies software capability is engaged in this work.Although the entrusted party is an expert in software development, he may know little about the industry or specific production or operation characteristics and methods of the entrusted party.Therefore, there are many matters to be clarified in the software contract signed by both parties.
Notes to the Client
1. Both parties of the contract shall clearly agree on the project training conducted by the trustee to the client and the payment of training fees.
2. Both parties of the contract shall clearly agree on the total price of software development and the price of each part.
3. Both parties of the contract shall clearly agree that the trustee shall provideprogress reportHow and when.
4. After receiving the delivery from the trustee, the client shall immediately test and evaluate the delivery to confirm whether it conforms to the functions and specifications of the developed software.
5. The Client shall provide the Trustee with relevant information and materials, especially the information and materials related to the Client's requirements for the functions and objectives of the developed software, to clarifyquality requirement。
6. Both parties of the contract shall clearly agree on the software functions, objectives, requirements composition andRelated technologiesThe right to consult or seek advice from the trustee.
7. The entrusting party shall clearly agree that the entrusted party shallsoftware maintenanceAnd support services.
Notes of trustee
1. When the trustee needs to increase the development cost after completing the software development, it shall clearly agree with the trustee on how to deal with it.
2. The flexible time for completing the software development shall be agreed in the contract to avoid the responsibility of the client for failing to complete the software development within the time specified in the contract due to the client's calculation errorLiability for breach of contract。
4. Both parties of the contract shall clearly agree on the time and method of the client's reply after the trustee submits the progress report.
5. Clarify the copyright ownership of the developed software.
Software copyrightThere are two kinds of attribution ofprocessing methodFirst, the software copyright belongs to the entrusting party;The second is that the software copyright belongs to the entrusted party.In practice, the following solutions can be taken, that is, the copyright of the software belongs to the trustor, and in turn, the trustor gives the trustee permission to use the software within a certain range, such as allowing the trustee to useroutineDevelop other software, etc., so that both parties can get what they need.
6. The trustee shall agree on the time when the client will issue a written acceptance document or submit a defect report after inspecting the software and receive or issue the defect report.
Precautions of the Trustor and the Trustee
1. Both parties of the contract shall clearly agreeContract itemsWhether it can be subcontracted, and if so, the scope of subcontracting shall be specified.
2. Both parties of the contract shall clearly agree on the purpose of software development, processing objects, main functions and objectives of the software, and what should be achievedTechnical indicators。
3. Development progress
① Both parties of the contract shall clearly agree on reasonablesoftware systemTime of commissioning.
② Both parties of the contract shall clearly agree on the delivery time and progress of the developed software.
4. Ownership of intellectual property
① If the contract stipulates that the intellectual property of the software system belongs to one party, the use right and scope of authority owned by the other party shall be clearly specified.
② Both parties of the contract shall clearly agree on the ownership of the intellectual property of the developed software, whether it is jointly owned or owned by one party.
5. Acceptance
Acceptance checkdevelopment by mandateBoth parties of a software contract are very important, and they are related to how to confirm the following issues.
① After receivingsoftware program And how long after the first batch of documents, the testing of the software will be completed, and how long will the client have the right to make sure that the quality of the software program does not meet the requirements of the contracttechnical standardThe client is required to modify the procedure to meet the standards specified in the contract.
② Who should be responsible for the cost of program modification.
③ How long should the entrusted party completeModify programAnd when, where and in what way the modified software should be handed over to the entrusting party.
④ How long should the client complete the second test after receiving the modified software, and how long should the client complete the second testTheThe results of the second test shall be notified to the entrusted party.
⑤ , such as the second test computerprogramIf the technical standard requirements specified in the contract have not been met, does the entrusting party have the right to refuse to accept the procedure, and whether it has the right to require the entrusted party to comply with the contractClaim clauseMake compensation.
⑥ If the entrusting party wants to inform the entrusting party of the conclusion of the first or second test on schedule, can it be deemed that the entrusting party has accepted the software developed by the entrusting party.
⑦ If the program documents are delivered in two times, within how long after the entrusting party actually accepts the software, the entrusted party shall deliver the second batch of documents to the entrusting party.
6. Delivery instructions
① Both parties of the contract shall clearly agree on the form and content of the documents to be delivered.
② Both parties to the contract shall clearly agree on the time for the client to review various instructions submitted by the trustee.
③ Both parties to the contract shall clearly agree on how to solve problems such as the client's objection to the instructions submitted by the trustee.
The two parties to the contract did not clearly agree on how to solve the problem when the client disagrees with the instructions submitted by the trustee.This leads to disputes between both parties of the contract.
② When the other party refuses to accept letters and other documents, it shallNotary InstitutionOr other departments to notarize or retain evidence.
③ It shall be strictly in accordance withlaws and regulationsTo notarize and retain the evidence.
④ In accordance withAgree to terminate the contractOr claim to terminate the contract according to legal matters, the evidence notifying the other party to terminate the contract shall be kept.
8. Both parties of the contract shall clearly agreeProject changeConditions.
9. Both parties of the contract shall clearly agree on the name of the software development system, which belongs to the software of different parties.
10. Confidentiality
① Confidentiality object: both parties of the contract shall clearly agree on the confidentiality object, which shall be detailed, listed by example, and also agree on some specific circumstancescatalogue of exceptions。
② Confidentiality responsibility: the parties shall clearly agree ontrade secretBoth bearConfidentiality obligationsEither party shall not leak without authorization, or bear corresponding responsibilities.
③Confidentiality period: The specific confidentiality period of the confidential matters in the contract should be agreed, or there is only an overview but no specific time periodpoint of time。
④ConfidentialityIndependence of the contract: Both parties can agree that, regardless of whether the contract is changed, dissolved or terminated, the confidentiality clause of the contract will continue to be effective without its restrictions, and both parties shall continue to assume the agreed confidentiality obligations.
11. Whether the rights and obligations of both parties can be transferred.
12. Signing details
① The contract shall specify the information of both parties.Such as the name, address, legal representative or main person in charge, account opening financial institution, account number and telephone number of the party concerned,Postal Code, the date of signing the contract.Place of signing the contract, etc.
② Both parties shall sign clear and correct signatures. If the party concerned is a unit, it shall also be stamped with official seal.
③ Signing time: Both parties shall clearly indicate the signing time at the end of the contract.
④ The terms of the contract shall be clear, specific and precise, and the imprecise terms and expressions such as "basic", "as far as possible", "if possible", "should" and "latest" shall be prevented from appearing in the contract.
① In case of force majeure, one party shall inform and prove to the other party in a timely manner as agreed, and shall take timely measures to prevent the loss from expanding.
② Both parties shall clearly agree on the scope of force majeure, notification method andMethod of proofWhether both parties can terminate the contract due to force majeure, whether they can claim compensation for performance problems caused by force majeure, and under what circumstances.
③ After the occurrence of force majeure, one party shall inform the other party in a timely manner according to the agreement, and the evidence shall be kept when proving.
14. Both parties shall pay attention to the other party in the process of performanceSubject changeIf there is any change in the dissolution situation, attention should be paid to which legal person or organization inherits its rights and obligations, and relevant evidence should be collected to prove the above facts.
15. Dispute resolution
① As agreedLitigation jurisdictionThe court can only agree that the defendantDomicile, place of contract performance, place of contract signing, place of plaintiff's domicile, contractSubject matterThe local court shall have jurisdiction, and only one of the courts shall have jurisdiction.If the agreement is not clear, two or more courts are chosen for jurisdiction, or a court other than the above five courts is agreed, or both arbitration and litigation are agreed, the dispute settlement clause is invalid.
partyChoice of jurisdictionSelect more than one court;Or choose arbitration, but at the same time agree that the court shall have jurisdiction.Such dispute settlement clauses are invalid and may increase the dispute settlement costs (time and money) of the parties, which does not conform to the parties' original intention and is not conducive to the disputeEfficiencyTo solve.
② After a dispute arises, both parties mayConsultation on an equal footingA consensus can also be reached byPeople's Mediation CommitteeMediation or bringing a lawsuit to the people's court and as agreedApply for arbitration。Judgment, mediation andArbitration institutionThe ruling and mediation ofCoercive force;The consensus reached by both parties through consultation and the mediation of the People's Mediation Committee are not mandatory, but their effectiveness is equivalent to signing a new contract.
③ If arbitration is agreed upon, specific arbitration institutions and arbitration matters shall be clearly agreed upon.The clear standard agreed by the arbitration institution is: the location of the arbitration institution is clear, and if there are more than two arbitration institutions in the same place, the detailed name of the agreed arbitration institution shall be indicated.
16. The parties to the contract shallForeign related contractsIt is clearly agreed in the Chinese version that the law should be applied in case of disputes, and such agreement should be practical.
17. In the litigation, we should weigh the advantages and disadvantages, ask the other party to bear all losses to the maximum extent, and cannot voluntarily give up anyClaim。
18. The party who has been cheated or coerced by the other party and signed the contract while the other party is in danger shall keep the evidence and bring a lawsuit to the people's court within one year or apply to the arbitration institution for arbitration to claim cancellation or modification of the contract.
19. When signing the contract, the contract instructions shall be attached.For example, the scope of application of the contract, understanding of terms, etc.
20. OnContract performanceIf one party breaches the contract in the process, the other party shall take measures to draw the other party's attention and negotiate with the other party to determine the responsibility.
① Both parties to the contract shall correctly distinguish the relationship between the unit and the person in charge of the unit, and clearly realize that the person in charge of the unit cannot represent the unit in his personal name.
② When one party signs a contract with the entrusted agent of the other party, it shall confirm in advance whether the person signing the contract on behalf of the other party holds the authorization of the other partya power of attorney。
③ The authority of their own internal personnel shall be stipulated to prohibit unauthorized personnel from abusing the unitofficial seal, signing, etc. to perform various contract matters with the other party, especially not to do anything inconsistent with the contents of the contract and our own interestsDeclaration of intention。
④ Both parties shall investigate the signing of the other partySubject qualification。
23. The main contract, relevant vouchers, relevant accounting materials, and other commitment letters and agreements shall be specified in the contract as annexes to this contract.
24. Liability for breach of contract
① Both parties shall agree in the contract, such as one partyBreach of contractIt is agreed that the other party may investigate the responsibility of the defaulting party and require the defaulting party to bearLiquidated damagesorCompensation for losses。
② As long as the parties to the contract have agreed on the liquidated damages or compensation for losses, they shall agree on the specific amount or calculation method.staydamages stipulated for breach of contractThe agreed amount cannot be too high or too low. If the agreed amount is too low, the loss will not be compensated. If the agreed amount is too high, it will not be realized due to the lack of legal support.Generally speaking, the agreed amount of liquidated damages shall not exceed the amount of the subject matter of the contract. If the loss of one party does exceed the subject matter of the contract, it can be directly agreed to compensate for the loss.
25. According toAgree to terminate the contractOr claim to terminate the contract in accordance with legal matters, the other party shall be notified.The contract is terminated when the notice reaches the other party.
26. Both parties shall clearly agree in the contract that if one party's organization is dissolved during the performance of the contractContractual rights and obligationsThe undertaker of.If atContract conclusionWhen a party is in the change period of dissolution and can foresee its rights and obligations, the specific name of the successor shall be clearly agreed in the contract.At the same time, it must be agreed that one party should inform the other party in time of the dissolution of the organization and violate thisDuty to informResponsibility.
27. When both parties sign the contract, the contract terms must be accurate and clear, and some key terms with strong professionalism must be defined or explained at the beginning of the contract to avoid ambiguity or obstacles to understanding.
28. Both parties shall agree in the contract that matters not covered in the contract shall be implemented in accordance with relevant laws and regulations. In case of no provisions in laws and regulations, both parties can negotiate and sign a written agreement separatelySupplementary agreementAs an annex to this contract, the supplementary agreement is the same as this contractlegal effect。
29. Both parties shall clearly agree in the contractEffectiveness of contractAnd the conditions, time and causes of termination.
30. Both parties shall agree that if one party changespostal address, should be changed within a few daysWritten formThe responsibilities of the notified party and the non notified party.
31. Both parties of the contract shall clearly agree in the contract on the form of document exchange between both parties.It should be in written form, including letters, faxes, telegrams, and face-to-face delivery.
32. If one party has any objection when receiving the notice of termination of the contract from the other party,TimelyRequest the people's court or arbitration institution to confirm the validity of the termination of the contract.
When signing the software development contract, both parties should pay attention to the above details and go through the relevant procedures in strict accordance with the law, so as to avoid them to the maximum extentLegal risk。