✨Thiết kế phần mềm

Thiết kế phần mềm

Thiết kế phần mềm là một quá trình giải quyết vấn đề và lập kế hoạch cho một giải pháp phần mềm.Sau khi các mục đích và đặc điểm kĩ thuật của phần mềm được quyết định, lập trình viên sẽ thiết kế hoặc thuê người thiết kế để phát triển một kế hoạch cho giải pháp phần mềm. Nó bao gồm các thành phần cấp thấp, các vấn đề thuật toán cũng như một khung nhìn kiến trúc.

👁️ 0 | 🔗 | 💖 | ✨ | 🌍 | ⌚
Trong công nghệ phần mềm, một **mẫu thiết kế** (tiếng Anh: design pattern) là một giải pháp tổng thể cho các vấn đề chung trong thiết kế phần mềm. Một mẫu thiết kế không phải
**Thiết kế phần mềm** là một quá trình giải quyết vấn đề và lập kế hoạch cho một giải pháp phần mềm.Sau khi các mục đích và đặc điểm kĩ thuật của phần mềm được
**Kiểm thử phần mềm** (tiếng Anh: **Software testing**) là một cuộc kiểm tra được tiến hành để cung cấp cho các bên liên quan thông tin về chất lượng của sản phẩm hoặc dịch vụ
liên_kết=https://en.wikipedia.org/wiki/File:ClamTk_5.27.png|nhỏ|300x300px|[[ClamTk, một phần mềm diệt vi-rút mã nguồn mở dựa trên công cụ diệt virus ClamAV, ban đầu được Tomasz Kojm phát triển vào năm 2001.]] nhỏ|255x255px|Ảnh chụp giao diện phần mềm diệt virus có
**Quy trình phát triển phần mềm** _(software development methodology)_ là một cấu trúc bao gồm tập hợp các thao tác và các kết quả tương quan sử dụng trong việc phát triển để sản xuất
Trong kỹ nghệ phần mềm, một **dạng thức thiết kế** là một giải trình lập lại được cho một dạng vấn đề thường xảy ra trong ngành thiết kế phần mềm. Một dạng thức thiết
**Kiến trúc phần mềm** của một chương trình máy tính hay một hệ thống tính toán là cấu trúc của các thành phần trong hệ thống đó. _Kiến trúc phần mềm_ bao gồm các phần
**Thiết kế lặp** (tiếng Anh: _iterative design_) là một phương pháp thiết kế dựa trên một quá trình tuần hoàn của tạo mẫu,thử nghiệm, phân tích, và tinh chỉnh một sản phẩm hoặc quy trình.
thumb|Mô hình vòng đời phát hành phần mềm Một **vòng đời phát hành phần mềm** là một sự tổng hợp các pha phát triển phần mềm từ giai đoạn sơ khai cho đến giai đoạn
**Công nghệ phần mềm** () là sự áp dụng một cách tiếp cận có hệ thống, có kỷ luật, và định lượng được cho việc phát triển, sử dụng và bảo trì phần mềm. Ngành
**Xây dựng phần mềm** (tiếng Anh:_Software construction_) là một quy tắc kỹ thuật phần mềm. Nó là quá trình tạo ra chi tiết của phần mềm thông qua sự kết hợp của viết mã, xác
**Mẫu thiết kế** (tiếng Anh là _design pattern_) có nhiều nghĩa tùy vào ngữ cảnh khác nhau: * Mẫu thiết kế (kiến trúc), một cách nắm bắt và truyền đạt các ý tưởng thiết kế
**Miền** hay **tên miền** (tiếng Anh: _domain_) là một lĩnh vực nghiên cứu nhằm xác định một tập các yêu cầu chung, thuật ngữ, và chức năng cho bất cứ chương trình phần mềm nào
**Phần mềm dạng dịch vụ** (**SaaS** ) là mô hình cấp phép và phân phối phần mềm trong đó phần mềm được cấp phép trên cơ sở đăng ký và được lưu trữ tập trung.
Phần mềm là các lệnh được lập trình mà được lưu trữ trong bộ nhớ được lưu trữ của các máy tính kỹ thuật số để bộ xử lý thực hiện. Phần mềm là một
nhỏ| Một sơ đồ cho thấy cách người dùng tương tác với [[phần mềm ứng dụng trên một máy tính để bàn thông thường. Lớp phần mềm ứng dụng giao tiếp với hệ điều hành,
**Phần mềm ác ý**, còn gọi là **phần mềm ác tính**, **phần mềm độc hại**, **phần mềm gây hại** hay **mã độc** (tiếng Anh: **malware** là sự ghép của hai chữ _malicious_ và _software_) là
**Quản lý dự án phần mềm** việc lên kế hoạch có tính khoa học và nghệ thuật trong quá trình quản lý các dự án phần mềm. Nó chính là quy trình quản lý dự
nhỏ|Ảnh chụp màn hình trò chơi giáo dục Chinese Tap trên Android để dạy học tiếng Trung. **Phần mềm giáo dục** là phần mềm máy tính có nhiệm vụ chính là hỗ trợ dạy học
**Wine** là một lớp tương thích tự do nguồn mở dùng để chạy các phần mềm viết cho Windows trên các hệ điều hành tương tự Unix (Linux, FreeBSD,...). Wine cũng cung cấp một thư
**Phần mềm thiết kế mạch in** là phần mềm dùng cho thiết kế ra **bảng mạch in** dựa trên sơ đồ mạch điện cho trước. Nó gồm có thực hiện bố trí vị trí các
**Phát triển phần mềm linh hoạt** hoặc **lập trình linh hoạt** (tiếng Anh: **_Agile software development_** hay **_Agile programming_**) là một phương thức thực hiện các dự án công nghệ phần mềm, phương thức này
**Phần mềm xử lý bảng tính** hay **Bảng tính** (tiếng Anh**: Spreadsheet**) là một phần mềm ứng dụng dùng để tổ chức, phân tích và lưu trữ dữ liệu thông qua các bảng tính (gọi
Trong thiết kế, tương tác giữa con người- máy tính và sự phát triển phần mềm. **Thiết kế tương tác** thường được viết tắt là **IxD**, được định nghĩa là sự ứng dụng của thiết
Đây là danh sách **Phần mềm mã nguồn mở**: là phần mềm máy tính được cấp phép giấy phép mã nguồn mở. Bài viết này không có tham vọng liệt kê tất cả những phần
**Công ty phần mềm** là một công ty có các sản phẩm chính là các phần mềm, công nghệ phần mềm, phân phối và phát triển sản phẩm phần mềm. Công ty phần mềm là
**Zoom** là phần mềm gọi video phát triển bởi Zoom Video Communications. Phiên bản miễn phí cung cấp gọi video với tối đa 100 thiết bị cùng lúc, và giới hạn thời gian là 40
nhỏ|400x400px|Giấy phép phần mềm trong bối cảnh bản quyền theo Mark Webbink. Từ trái sang phải ít quyền cho người được cấp phép/user của một phần mềm và nhiều hơn nữa quyền giữ lại bởi
**Nhà phát triển phần mềm** là một cá nhân hay một tổ chức có liên quan đến các vấn đề trong quá trình phát triển phần mềm ở mức cao hơn việc chỉ thiết kế
nhỏ|phải|Một ổ USB Flash Driver đặt bên cạnh một thước milimet **Portable application**, còn gọi là **portable software**, tạm dịch là **phần mềm xách tay**, là phần mềm không cần phải cài đặt vào máy
**Phần mềm tự do nguồn mở** (Tiếng Anh: _Free and open-source software_ (Viết tắt là F/OSS, FOSS) hoặc _Free/Libre/open-source software_ (Viết tắt là FLOSS)) là loại phần mềm được bao gồm Phần mềm tự do
thumb|Một kỹ sư phần mềm đang viết mã Java **Kỹ sư phần mềm** (tiếng Anh: **software engineer**) là người áp dụng các nguyên tắc/nguyên lý của công nghệ phần mềm vào việc thiết kế, phát
**Origin** là một nền tảng phân phối kỹ thuật số được phát triển bởi Electronic Arts để mua và chơi các trò chơi điện tử. Phần mềm này có sẵn cho máy tính và
nhỏ|217x217px|Một bản vẽ thiết kế thời trang **Thiết kế** là việc tạo ra một bản vẽ hoặc quy ước nhằm tạo dựng một đối tượng, một hệ thống hoặc một tương tác giữa người với
Trong công nghiệp phần mềm, mô hình Singleton là một mẫu thiết kế phần mềm để hạn chế sự khởi tạo của lớp đối tượng. Điều này rất hữu ích khi cần một đối tượng
**_Design Patterns_** (ISBN 0201633612) là cuốn sách khoa học máy tính đưa ra các giải pháp chuẩn và các quy ước đặt tên cho các vấn đề chung trong thiết kế phần mềm. Các tác
**Blender** là một phần mềm đồ họa 3D miễn phí và nguồn mở, được sử dụng để làm phim hoạt hình, kỹ xảo, ảnh nghệ thuật, mẫu in 3D, phần mềm tương tác 3D và
Là loại kỹ sư thiết lập, tính toán, vẽ ra nguyên lý, kết cấu, chi tiết các cơ cấu, cụm cơ cấu, máy móc, công trình hay phần mềm thể hiện qua tài liệu thiết
Bản thiết kế cảnh người phụ nữ sau song sắt của Robert Edmond Jones trong vở _Machinal_ (1928) nhỏ|Mô hình thiết kế sân khấu của Marcel Jambon cho vở _[[Otello_ của Giuseppe Verdi (1895) tại
Trong đồ họa máy tính, [https://toplistvietnam.net/toplist-phan-mem-thiet-ke-do-hoa-pho-bien-2023/ phần mềm đồ họa] đề cập đến một chương trình hoặc bộ sưu tập các chương trình cho phép một người thao tác hình ảnh hoặc mô hình trực
**Tư duy thiết kế** (Design thinking) là một thuật ngữ được sử dụng để chỉ một tập hợp các quá trình nhận thức, chiến lược và thực tiễn mà qua đó - các khái niệm
**Phần mềm ứng dụng** (tiếng Anh: _Application software_, hay còn được viết tắt là _app_) là một loại chương trình có khả năng làm cho thiết bị điện tử thực hiện trực tiếp một công
**Delphi** là sản phẩm phần mềm sử dụng phương ngữ Delphi của ngôn ngữ lập trình Object Pascal và cung cấp môi trường phát triển tích hợp (IDE) để phát triển ứng dụng nhanh chóng
Mô tả Factory method bằng [[Unified Modeling Language|UML]] **Factory method**, đầy đủ là **Factory method pattern**, là thiết kế mẫu hướng đối tượng trong việc thiết kế phần mềm cho máy tính, nhằm giải quyết
**Thiết kế truyền thông** là một ngành học kết hợp giữa thiết kế và phát triển thông tin mà nó quan tâm đến việc các phương tiện truyền thông liên quan như in ấn, sáng
**RPM Package Manager** (**RPM**) (ban đầu là **Red Hat Package Manager**; bây giờ là một từ viết tắt đệ quy) là một trình quản lý gói. Tên gọi RPM đề cập đến: định dạng file.rpm,
**Bảo trì phần mềm** (tiếng Anh _software maintenance_) bao gồm điều chỉnh các lỗi mà chưa được phát hiện trong các giai đoạn trước của vòng đời của một phần mềm, nâng cấp tính năng
**Phần mềm hệ thống** là phần mềm máy tính thiết kế cho việc vận hành và điều khiển phần cứng máy tính và cung cấp một kiến trúc cho việc chạy _phần mềm ứng dụng_.
thumb|alt=Màn hình máy tính của hệ điều hành, màn hình hiển thị các ứng dụng phần mềm tự do khác nhau.|Ví dụ về một hệ điều hành phần mềm tự do hiện đại chạy một
**Thiết kế sản phẩm** là tạo ra một sản phẩm mới được bán bởi một doanh nghiệp cho khách hàng của mình. Một lượng rất rộng các ý tưởng được tạo ra và phát triển