软件开发生命周期
软件开发生命周期(Software Development Life Cycle, SDLC)是一系列阶段,从构思到交付和维护,用于规划、开发和测试高质软件。它包括需求分析、设计、编码、测试、部署以及维护等关键步骤。
There are different ways to break software development into phases and stages and you can find a lot of variations across the internet.
Try typing in SDLC or Software Development Life Cycle. Let's look at some of the most popular representations.
以下是一个6步分解的SDLC过程
mindmap
SDLC
Planning
Defining
Designing
Building
Testing
Deployment
也有人分成7步,具体如下:
graph TD
A[1.Planning] --> B[2.Analysis]
B --> C[3.Design]
C --> D[4.Development]
D --> E[5.Testing]
E --> F[6.Integration]
F --> G[7.Maintenance]
这里按以下6个阶段分别进行讲解
- Phase 1. Requirements collection
- Phase 2. Design
- Phase 3. Development
- Phase 4. Testing
- Phase 5. Deployment
- Phase 6. Maintenance
Phase 1.Requrements collection
This phase include Requirements gathering, initial analysis, Pianning.
What is happening?
Business requirements are gathered and documented.
Major stakeholders give their input.
Project scope is outlined, budget, resources, deadlines, and potential risks and quality assurance requirements are defined.
Who is involved?
Business analyst
Subject matter expert
Major stakeholders (customer, partners, other institutions, development team etc)
Project manager
PMO - Project Management Office
-
Requirement [rɪˈkwɪrəmənt]: a thing that is wanted or needed; is a must (a condition).
-
To gather: to collect
-
To document: to create documents on something, so that we have information in written form
-
Stakeholder: a person or an organization who is actively involved in the project, or can be affected by the project
-
Input: ideas or knowledge that someone gives to a project
-
Project scope: all aspects of a project, including all activities, resources, deliverables, etc.; "how big is the project"
-
To outline: to describe something in a general way without giving too many details, "to describe generally"
-
Subject Matter Expert (SME): a person who has knowledge and expertise in a specific subject, business area, or technical area
Phase 2.Design
This Phase include Prototyping, Systems design, Architecture design.
What is happening?
Software development requirements are translated into design.
The entire system and its elements need to be designed (including high-level design and low-level design).
This stage includes the design of user interfaces, system interfaces, network and network requirements, databases.
Operation, training, and maintenance plans are drawn up so that developers know what they need to do throughout every stage of the cycle.
Who is involved?
Business Analyst
Solution architect
Project Manager
Project team (developers, testing, QA specialists, UI/UX designers)
Client representatives
Business representatives / stakeholders.
-
The entire: the whole
-
High-level design (HLD): the system's architectural design
-
Low-level design (LLD): the design of its components; a detailed description of all components, configurations, and processes
-
Draw up: to prepare a draft of something
Phase 3.Development
This phase include software development, implementatidh,building
What is happening?
Using the design document, software developers write code for all the components.
Program code is built per the design document specifications.
Every developer has to stick to the agreed blueprint.
Developers utilize different tools, for example compilers, debuggers, and interpreters.
The tasks are divided among the team members according to their area of specialization (front-end developers, back-end developers, database administrators etc).
It is the most time-consuming phase.
The result of this phase is a working software product.
Who is involved?
Developers
Designers
Business Analyst
Project Manager
other stakeholders
-
Component = A part
-
Per (as per) = According to
-
Specification / Technical Specification (Tech Spec) = A document that explains what a product will do and how you'll achieve these goals
-
To stick to something: = To keep doing a particular thing and not change to anything else, to follow the specification
-
Blueprint: = A detailed plan of how to do something
-
To Utilize [juːˈtɪlaɪz] = To use
Phase 4.Testing
This include Integration and testing.
What is happening?
The goal is to ensure the software meets requirements.
This is where the Quality Assurance (QA) team steps in to test the software.
All the modules of the software are brought together into a special testing environment and tested for errors and interoperability.
Software developers fix any bugs that come up during this stage. Then QA specialists test the software or its components again.
All the defects are tracked, fixed, and retested.
There are different kinds of testing: Functional testing, Performance testing, Unit testing, Integration testing, Regression testing etc.
Who is involved?
Testers
Developers
Business Analyst
Project Manager
other stakeholders
-
Goal (aim, objective): something that you are trying to do/achieve
-
Ensure: make sure
-
Step in: to become involved, start doing something on the project
-
Module [ˈmɒdʒul], Component [kəmˈpəʊnənt]: part of the program/software
-
Bring together: assemble, collect, compile
-
Bug (error, defect, flaw [flɔ:]): a problem in the software program or its incorrect behavior
-
Interoperability: an ability of one system or application to interact with another system or application.
-
Go over: look through
-
Track bugs: to log and monitor bugs or errors during software testing
-
Fix bugs: eliminate software errors
-
To retest: to test again
Phase 5. Deployment
What is happening?
The product is deployed in the production environment.
If the customer wishes, UAT(User Acceptance Testing) is done before deployment. For UAT a replica of the production environment is created and the customer company does the testing.
Once they check that the product works as expected, they give a sign off to go live.
The customer may also come up with changes or enhancements to the software behavior. These changes are called change requests.
After they are done the product is released to the market or deployed in the company's production environment.
Who is involved?
Release Manager
Project Manager
Developers
Testers
Customer
-
To deploy: to make a software system available for use
-
Replica: an exact copy
-
Sign off: a business document or confirmation from the customer that they agree on the status of a project or goal. It can be the end of a project phase or the end of the project, when the customer accepts the software product and is satisfied with it.
-
Go live: the point at which code moves from the test environment to the production environment, therefore becomes available for end users.
-
To come up with something: to suggest or think of an idea or plan.
-
Enhancement: improvement.
-
Release [rɪˈliːs] / To release: the distribution of the final version of an application/to distribute the final version of an application.
Phase 6. Maintenance (support)
What is happening?
During this the system is assessed to ensure it doesn't become obsolete.
If any issue comes up and needs to be fixed or any enhancement needs to be done developers take care of that.
This is also where changes can be made to initial software.
Who is involved?
Developers, Testers, Project Manager, Service Manager, other stakeholders.
-
To assess: to check and decide about the quality of something.
-
Assessment: the process of checking and considering all the information about something; making a judgment.
-
To ensure: to make sure.
-
obsolete: something old; that is not in use any more and has to be replaced by something newer and better.
-
Issue ['ɪʃuː]: a question or problem that needs to be solved.
-
To come up: happen, appear (usually unexpectedly).
-
Enhancement: improvement.
-
Initial [ɪˈnɪʃl]: first; original; something that was at the beginning.
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))