Full Assignment 2: Unit 9 Software Development Life Cycle - BTEC Level 5 HND

Bài mẫu Assignment 2 Unit 9 SDLC, BTEC HND Computing. Tham khảo đầy đủ sơ đồ use case, DFD, ERD và phân tích yêu cầu để đạt điểm cao.

Chuyên ngành

Computing

Người đăng

Ẩn danh

Thể loại

Assignment

2023

100
0
0

Phí lưu trữ

35 Point

Tóm tắt

I. Khái Niệm Về Vòng Đời Phát Triển Phần Mềm SDLC

Vòng đời phát triển phần mềm (SDLC) là quá trình toàn diện để thiết kế, phát triển và kiểm tra phần mềm chất lượng cao. Trong Unit 9 BTEC HND Computing, SDLC được xem như một khung công tác thiết yếu giúp các nhà phát triển tổ chức công việc một cách khoa học. Quá trình này bao gồm nhiều giai đoạn từ lập kế hoạch, phân tích yêu cầu, thiết kế, triển khai đến kiểm tra và bảo trì. Mục đích chính của SDLC là đảm bảo rằng phần mềm được phát triển đáp ứng đầy đủ nhu cầu của khách hàng, có chất lượng cao, và được hoàn thành trong thời gian và ngân sách dự định. Việc áp dụng SDLC một cách hiệu quả sẽ giảm thiểu rủi ro, tăng cường chất lượng sản phẩm và cải thiện độ hài lòng của người dùng cuối.

1.1. Các Giai Đoạn Chính Của SDLC

SDLC bao gồm 6 giai đoạn chính: (1) Lập kế hoạch và định nghĩa phạm vi - xác định mục tiêu dự án; (2) Phân tích yêu cầu - thu thập nhu cầu của khách hàng; (3) Thiết kế hệ thống - tạo kiến trúc phần mềm; (4) Phát triển/Lập trình - viết mã nguồn; (5) Kiểm tra - đảm bảo chất lượng; (6) Triển khai và bảo trì - phát hành và hỗ trợ liên tục. Mỗi giai đoạn có những hoạt động, đầu ra cụ thể và vai trò quan trọng trong thành công của dự án.

1.2. Tầm Quan Trọng Của SDLC Trong Quản Lý Dự Án

Áp dụng SDLC giúp đội dự án có lộ trình rõ ràng, giảm chi phí phát triển và tránh các sai sót không mong muốn. Nó cung cấp cơ chế kiểm soát chất lượng ở mỗi bước, cho phép phát hiện và sửa lỗi sớm. Quản lý rủi ro trở nên dễ dàng hơn khi có hệ thống tài liệu đầy đủ và các mốc kiểm soát rõ ràng.

II. Phân Tích Yêu Cầu Yêu Cầu Chức Năng Và Phi Chức Năng

Trong Assignment 2 Unit 9, phần phân tích yêu cầu là nền tảng của dự án phần mềm. Yêu cầu chức năng mô tả các tính năng mà hệ thống phải cung cấp, như quản lý sách, quản lý đơn hàng, quản lý tài khoản khách hàng. Yêu cầu phi chức năng liên quan đến hiệu suất, bảo mật, khả năng mở rộng và trải nghiệm người dùng. Việc phân biệt rõ ràng giữa hai loại yêu cầu này giúp đội phát triển hiểu rõ hơn về phạm vi dự án. Những kỹ thuật thu thập yêu cầu như phỏng vấn, phát điều tra, phân tích tài liệu và quan sát trực tiếp đóng vai trò quan trọng trong việc xác định chính xác nhu cầu của các bên liên quan.

2.1. Yêu Cầu Chức Năng Functional Requirements

Yêu cầu chức năng mô tả chi tiết những gì hệ thống phải làm. Ví dụ: hệ thống quản lý sách cần cho phép khách hàng duyệt danh sách sách, thêm sách vào giỏ hàng, tạo tài khoản, đặt hàng và xem lịch sử đơn hàng. Mỗi chức năng phải được định nghĩa rõ ràngcó thể kiểm chứng để đảm bảo sản phẩm cuối cùng đáp ứng đúng nhu cầu.

2.2. Yêu Cầu Phi Chức Năng Non Functional Requirements

Yêu cầu phi chức năng liên quan đến hiệu suất, bảo mật, độ tin cậykhả năng sử dụng của hệ thống. Chúng bao gồm: thời gian phản hồi dưới 2 giây, hỗ trợ tối thiểu 1000 người dùng đồng thời, mã hóa dữ liệu nhạy cảm, và giao diện thân thiện với người dùng. Những yêu cầu này nâng cao chất lượng tổng thể của sản phẩm.

III. Công Cụ Và Kỹ Thuật Phân Tích Phần Mềm

Để thực hiện phân tích phần mềm hiệu quả, Assignment 2 sử dụng nhiều công cụ và kỹ thuật chuyên môn. Use Case Diagram minh họa các tương tác giữa người dùng (actors) và các chức năng của hệ thống. Data Flow Diagram (DFD) hiển thị cách dữ liệu di chuyển qua các quy trình trong hệ thống. Entity Relationship Diagram (ERD) biểu diễn cấu trúc dữ liệu và mối quan hệ giữa các thực thể. Các kỹ thuật thu thập thông tin như phỏng vấn, phát điều tra, phân tích tài liệu và quan sát trực tiếp giúp thu thập dữ liệu toàn diện từ các bên liên quan. Việc sử dụng kết hợp các công cụ này tạo ra tài liệu phân tích chi tiết, rõ ràng và dễ hiểu.

3.1. Use Case Diagram Và Mô Tả Chi Tiết

Use Case Diagram cung cấp cái nhìn tổng quan về các tương tác giữa người dùng và hệ thống. Trong hệ thống quản lý sách, các use case bao gồm: Đăng ký, Đăng nhập, Quản lý sách, Quản lý đơn hàng, Quản lý tài khoản. Mỗi use case được mô tả chi tiết với các bước thực hiện, điều kiện trước và sau, giúp lập trình viên hiểu rõ yêu cầu từng chức năng.

3.2. Data Flow Diagram Và Entity Relationship Diagram

DFD cho thấy luồng dữ liệu giữa các quá trình, lưu trữ dữ liệu và các tác nhân bên ngoài. ERD xác định các thực thể (Customer, Book, Order, Employee) và mối quan hệ giữa chúng. Hai công cụ này tổ chức thông tin và giúp thiết kế cơ sở dữ liệu chính xác.

IV. Xây Dựng Và Triển Khai Giải Pháp Phần Mềm

Sau khi hoàn tất phân tích, giai đoạn thiết kế và phát triển giải pháp bắt đầu. Stack công nghệ phù hợp cần được chọn lựa, ví dụ như LAMP stack (Linux, Apache, MySQL, PHP) hoặc các công nghệ hiện đại khác. Thiết kế giao diện người dùng (UI/UX) phải tuân thủ các yêu cầu phi chức năng và mang lại trải nghiệm tốt cho người dùng. Các phương pháp đảm bảo chất lượng như kiểm tra đơn vị (unit testing), kiểm tra tích hợp (integration testing) và kiểm tra hệ thống (system testing) phải được áp dụng. Truy xuất yêu cầu (requirements traceability) đảm bảo mỗi yêu cầu được bao phủ hoàn toàn trong mã nguồn. Cải thiện chất lượng liên tục thông qua review code, phản hồi từ khách hàng và các cuộc họp định kỳ sẽ nâng cao hiệu quả phát triểnhài lòng người dùng cuối.

4.1. Lựa Chọn Stack Công Nghệ Và Thiết Kế Giao Diện

LAMP stack cung cấp một nền tảng ổn định để phát triển ứng dụng web. Linux làm hệ điều hành, Apache là máy chủ web, MySQL lưu trữ dữ liệu, PHP xử lý logic. Giao diện người dùng cần được thiết kế thân thiện, đáp ứng trên các thiết bị khác nhau, và tuân thủ các nguyên tắc UX tốt. Sử dụng HTML5, CSS3 và JavaScript giúp tạo ra giao diện hiện đại và tương tác.

4.2. Đảm Bảo Chất Lượng Và Triển Khai Dự Án

Kiểm tra chất lượng multi-level bao gồm kiểm tra đơn vị, tích hợp, hệ thống và chấp nhận. Truy xuất yêu cầu tạo liên kết giữa yêu cầu và code, giúp xác minh hoàn chỉnh. Triển khai thành công yêu cầu kế hoạch dự phòng, huấn luyện người dùng, và hỗ trợ sau triển khai để đảm bảo hoạt động liên tục.

18/12/2025

Trích đoạn nội dung tài liệu

ASSIGNMENT 2 FRONT SHEET Qualification BTEC Level 5 HND Diploma in Computing Unit number and title Unit 9: Software Development Life Cycle Submission date 04/20/2023 Date Received 1stsubmission Re-submission Date Date Received 2ndsubmission Student Name Nguyen Dang Hoang Khang Student ID BC00007 Class IT05101 Assessor name Tran Van Nhuom Student declaration I certify that the assignment submission is entirely my own work and I fully understand the consequences of plagiarism. I unde making a false declaration is a form of malpractice. Student’s signature Khang Grading grid P5 P6 P7 M3 M4 M5 M6 D1 D2 1  Summative Feedback:  ResubmissionFeedback: Grade: Assessor Signature: Date: Internal Verifier’s Comments: Signature & Date: 2 Table of contents INTRODUCTION. 7 UNDERTAKE A SOFTWARE INVESTIGATION TO MEET A BUSINESS NEED (P5).

Identify the stakeholders, their roles and interests in the case study. Distinguish functional and non-functional requirements. The relationship between functional and non-functional requirements. Discuss the technique(s) you would use to obtain the requirements.

14 USE APPROPRIATE SOFTWARE ANALYSIS TOOLS/TECHNIQUES TO CARRY OUT A SOFTWARE INVESTIGATION AND CREATE SUPPORTING DOCUMENTATION (P6). Use case diagram. Identify actors and use cases for each actor. Draw a use case diagram.

Use case description. Data Flow Diagram. Draw a Data Flow Diagram. Entity Relation Diagram.

Relationships between entities. 26 EXPLAIN HOW USER AND SOFTWARE REQUIREMENTS HAVE BEEN ADDRESSED (P7). Website interface design. Address which solution stack could be suitable to implement the project.

41 Discuss how you would trace these requirements throughout the project (M3). 43 Discuss two approaches to improving software quality (M4). Discuss two software quality attributes that are applicable to the project. Discuss two quality assurance techniques that can help improve the software quality in the project.

45 Suggest two software behavioural specification methods and illustrate their use with an example (M5). 46 Differentiate between a finite state machine (FSM) and an extended-FSM, providing an application for both. 50 4 List of Figures Figure 1: Usecase level 1. 16 Figure 2: Book Management.

17 Figure 3: Category Management. 17 Figure 4: Orders Management. 17 Figure 5: Customer Management. 18 Figure 6: Customer Account.

18 Figure 7: Employee Account. 18 Figure 8: Order detail Management. 20 Figure 12: Data Flow Diagram level 0. 23 Figure 13: Context Diagram.

28 Figure 16: Create Account. 30 Figure 20: Login Admin. 30 Figure 21: Add book and list of book. 33 Figure 25: Edit Profile.

34 Figure 26 : Your Profile. 35 Figure 28 :Login Admin. 35 Figure 29 : Home Admin. 36 Figure 30 : Add Book.

36 Figure 31 : List Book. 37 Figure 32 : Add Employee. 37 Figure 33: List Book. 38 Figure 34 : Add Customer.

38 Figure 35 : List Customer. 39 Figure 36 : List Order. 39 Figure 37 : Order detail. 40 Figure 38 :List Feedback.

40 Figure 39: LAMP stack. 42 5 List of Table Table 1: Functional and Non Functional Requirements. 14 Table 3: Actors and use cases for each actor. 16 Table 4: Function table of use case.

21 Table 5: Function Login. 21 Table 6: Function Login. 22 Table 7: Function Register. 22 Table 8: Function Register.

22 Table 9: Function Logout. 23 Table 10: Function Logout. 23 Table 11: Entity Description. 26 6 INTRODUCTION In this report, I will teach the knowledge collected by technology, including 5 technologies: interviews, questionnaires, JAD, Document analysis and observation.

Among them, I give definitions and related factors. I can use it too The application of interview technology has paved the way for project development. I also created The system designed charts, such as: application diagram, activity diagram, data flowchart and entity Relational card. I created a relationship database that contains all information from the physical relationship diagram.

The data required by the system. In addition, I also created a report for the website function, including The main functions of the system. The software of the system reaction is below. 7 UNDERTAKE A SOFTWARE INVESTIGATION TO MEET A BUSINESS NEED (P5) I.

Identify the stakeholders, their roles and interests in the case study A stakeholder is any individual, group or party that has an interest in an organization and the results of its actions. for example in the tune source system here the stakeholders are customers, employees administrators, project investors, government, and the community. The stakeholders: Phill Lewis, Kevin Hart and Ariana Grande Administrator Administrator stakeholders are the owners of an organization. They provide capital or equity to the project and have a say in how things run.

There can be multiple owners and each administrator will have equity in the project. Project Sponsor: David Beckham Project Sponsor can include owners but they can also be outside vendors who typically have a right to accurate and timely information such as regular financial statements. Sponsor may also have the right to approve or reject major decisions like mergers and acquisitions. System User The System User represents the end-users who will use the system or product being developed in the project.

Their role is to provide input on functional requirements, user experience (UX), and usability considerations. Their interests may include having a system or product that meets their needs, is user-friendly, and provides a positive experience. Customers Customers are the entities or individuals who will use or benefit from the project outcome. Their role is to provide input on requirements, provide feedback during project execution, and accept the final deliverables.

Their interests may include receiving a high-quality product or service that meets their needs, is delivered on time, and is within budget. It's important to note that stakeholders' roles and interests may evolve throughout the project lifecycle, and effective stakeholder management is crucial for project success. Understanding the roles and interests of stakeholders helps in identifying and managing their expectations, addressing their concerns, and ensuring their active participation and support throughout the project. Definition 8 Represents a need that an Information System should fulfill.

Conditions can be functional( what the software or element should do, a functionality),non-functional( how the system will do, that is, constraints or rates) and environmental( assessed constraints similar as legal restrictions or norms). This bracket can be seen from the stoner point of view( accessible for stakeholders) or from the system point of view( on a specialized and more detailed position). Distinguish functional and non-functional requirements Requirements analysis is very critical process that enables the success of a system or software project to be assessed. Requirements are generally split into two types: Functional and Non-functional requirements.

Functional Conditions These are the conditions that the end stoner specifically demands as introductory installations that the system should offer. All these functionalities need to be inescapably incorporated into the system as a part of the contract. These are represented or stated in the form of input to be given to the system, the operation performed and the affair anticipated. They're principally the conditions stated by the stoner which one can see directly in the final product, unlike the non-functional conditions.

Non-functional conditions These are principally the quality constraints that the system must satisfy according to the design contract. The precedence or extent to which these factors are enforced varies from one design to other. They're also called non-behavioral conditions. They basically deal with issues like:  Portability  Security  Maintainability  Reliability  Scalability  Performance  Reusability  Flexibility Following are the differences between Functional and Non Functional Requirements Functional Requirements Non Functional Requirements A functional requirement defines a system or its A non-functional requirement defines the component.

quality attribute of a software system. It specifies “What should the software system It places constraints on “How should the do?” software system fulfill the functional requirements?” 9 Functional requirement is specified by User. Non-functional requirement is specified by technical peoples e. Architect, Technical leaders and software developers.

It is mandatory. It is not mandatory. It is captured in use case. It is captured as a quality attribute.

Defined at a component level. Applied to a system as a whole. Helps you verify the functionality of the Helps you to verify the performance of the software. Functional Testing like System, Integration, End Non-Functional Testing like Performance, to End, API testing, etc are done.

Stress, Usability, Security testing, etc are done. Usually easy to define. Usually more difficult to define. Example Example 1) Authentication of user whenever he/she logs 1) Emails should be sent with a latency of no into the system.

greater than 12 hours from such an activity. 2) System shutdown in case of a cyber attack. 2) The processing of each request should be 3) A Verification email is sent to user whenever done within 10 seconds he/she registers for the first time on some 3) The site should load in 3 seconds when the software system. number of simultaneous users are > 10000 Table 1: Functional and Non Functional Requirements 3.

The relationship between functional and non-functional requirements Functional Conditions and non-functional conditions are both important in the development of a successful software system. Functional conditions define the specific features and functionality that the software system must give to meet the stoner's requirements. Non-functional conditions, on the other hand, describe the performance, usability, security, and other quality characteristics that the system must parade. Functional conditions concentrate on what the software system should do, while non- functional conditions concentrate on how it should do it.

In other words, functional conditions are concerned with the" what" of the system, while non-functional conditions are concerned with the" how." The relationship between functional and non-functional conditions is that they're both necessary in order to produce a successful software system. The functional conditions define what the system is supposed to do, while the non-functional conditions define how well it should do it. For illustration, a functional demand might be that a system must allow druggies to produce and save documents, while anon-functional demand might be that the system must be suitable to handle a large number of druggies contemporaneously without decelerating down. while functional conditions are necessary to describe the functionality of the system,non-functional conditions are necessary to insure that the system meets the necessary quality norms and performs effectively under different conditions.

Both types of conditions are important and should be considered in the development of any software system. Discuss the technique(s) you would use to obtain the requirements Justification for the technique(s): Decades of resource-related project planning issues decades ago, although it was rarely used in this issue. The reason is a simple and fast technology that will create a new timetable when using the timetable, as long as the original timetable -usually shorter. These results prompted us to summarize this technology to further study it.

In this article, the differences and general forms of reasoning technology are proposed, which can obtain a survey of the relationship between the timetable. The results obtained show that the proposed summary is worth it. Several computer tests were performed to determine the impact of general concepts on algorithm efficiency. We use collective requirements, observation, and questionnaire/survey.

Observational Method: The term Observational research is used to refer to a number of different types of non- experimental research in which behavior is systematically observed and recorded. Naturalistic Observation: Natural observation is a method of observation, including observing human behavior in the field of customers and investors. For example, observe customers and behaviors using the melody source. Your research will invalidate the research.

Therefore, the observation value of camouflage may be low, so it may have a higher value because people do not know that their behavior is observed and recorded. However, we now know that people are often accustomed to observing. Over time, they start to act naturally in front of researchers.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ