Results (
Vietnamese) 1:
[Copy]Copied!
ngôn ngữ trong đó các sản phẩm phần mềm sẽ được thực hiện. Quá trình này được mô tả chi tiết trong chương 13. Một quyết định là bao nhiêu của sản phẩm phần mềm hiện có để tái sử dụng trong các sản phẩm phần mềm mới được phát triển. Tái sử dụng được mô tả trong chương 8. Tính di động là một thiết kế quan trọng quyết định; chủ đề này, quá, được mô tả trong chương 8. Ngoài ra, sản phẩm phần mềm lớn thường được thực hiện trên một mạng máy tính; Tuy nhiên, một thiết kế quyết định là phân bổ của mỗi thành phần phần mềm để các thành phần phần cứng mà nó là để chạy. Động lực chính đằng sau sự phát triển của quá trình hợp nhất là để trình bày một phương pháp có thể được sử dụng để phát triển sản phẩm phần mềm quy mô lớn, thường, 500.000 các dòng mã hoặc nhiều hơn. Mặt khác, việc triển khai của nghiên cứu trường hợp MSG Foundation trong phụ lục G và H là ít hơn 5.000 dòng C ++ và Java, tương ứng. Nói cách khác, quá trình thống nhất được thiết kế chủ yếu cho các sản phẩm phần mềm ít 100 lần lớn hơn so với nghiên cứu trường hợp MSG Foundation trình bày trong cuốn sách này. Vì vậy, nhiều khía cạnh của quá trình hợp nhất được không thể dùng được để nghiên cứu trường hợp này. Ví dụ, một phần quan trọng của công việc phân tích là phân vùng sản phẩm phần mềm vào phân tích gói. Mỗi gói bao gồm một tập hợp các lớp học có liên quan, thường của sự liên quan đến một tập hợp con nhỏ của các diễn viên, mà có thể được thực hiện như một đơn vị duy nhất. Ví dụ, tài khoản phải nộp, tài khoản phải thu, và general ledger rất điển hình phân tích gói. Khái niệm cơ bản phân tích gói là nó dễ dàng hơn để phát triển sản phẩm phần mềm nhỏ hơn so với sản phẩm phần mềm lớn hơn. Theo đó, một sản phẩm phần mềm lớn là dễ dàng hơn để phát triển nếu nó có thể được bị phân hủy thành các gói tương đối độc lập. Ý tưởng này của phân hủy một công việc lớn thành độc lập tương đối nhỏ hơn quy trình công việc được thực hiện về phía trước để các công việc thiết kế. Ở đây, mục tiêu là để phá vỡ các công việc sắp tới thực hiện thành miếng dễ quản lý, gọi là hệ thống con. Một lần nữa, nó không làm cho tinh thần để phá vỡ MSG Quỹ nghiên cứu vào hệ thống con; trường hợp nghiên cứu là chỉ là quá nhỏ. There are two reasons why larger workflows are broken into subsystems:1. As previously explained, it is easier to implement a number of smaller subsystems than one large system. 2. If the subsystems to be implemented are indeed relatively independent, then they can be implemented by programming teams working in parallel. This results in the software product as a whole being delivered sooner. Recall from Section 8.5.4 that the architecture of a software product includes the various components and how they fi t together. The allocation of components to subsystems is a major part of the architectural task. Deciding on the architecture of a software product is by no means easy and, in all but the smallest software products, is performed by a specialist, the software architect . In addition to being a technical expert, an architect needs to know how to make trade offs . A software product has to satisfy the functional requirements , that is, the use cases. It also needs to satisfy the nonfunctional requirements , including portability (Chapter 8), reliability (Section 6.4.2), robustness (Section 6.4.3), maintainability, and security. But it needs to do all these things within budget and time constraints. It is almost never possible to develop a software product that satisfies all its requirements, both functional and nonfunctional, and finish the project within the cost and time constraints; compromises almost always have to be made. The client has to relax some of the requirements, increase the budget, or move the delivery deadline, or do more than one of these. The architect must assist the client’s decision making by clearly mapping out the trade-offs. In some cases the trade-offs are obvious. For example, the architect may point out that a set of security requirements that conform to a new high-security standard are going to take a further 3 months and $350,000 to incorporate in the software product. If the product is an international banking network, the issue is moot—there is no way that the client could possibly agree to compromise on security in any way. However, in other instances, the client needs to make critical determinations regarding trade-offs and has to rely on the technical expertise of the architect to assist in coming to the right business decision. For example, the architect might point out that deferring a particular requirement until the software product has been delivered and is being maintained may save $150,000 now but will cost $300,000 to incorporate later (see Hình 1.5). The decision as to whether or not to defer a requirement can be made by only the client, but he or she needs the technical expertise of the architect to assist in coming to the correct decision. The architecture of a software product is a vital factor as to whether the delivered product is a success or a failure. And, the critical decisions regarding the architecture have to be made while performing the design workflow. If the requirements workflow is badly performed, it is still possible to have a successful project, provided additional time and money are spent on the analysis workflow. Similarly, if the analysis workflow is inadequate, it is possible to recover by making an extra effort as part of the design workflow. But, if the architecture is suboptimal, there is no way to recover; the architecture must immediately be redesigned. It is therefore essential that the development team include an architect with the necessary technical expertise and people skills.
Being translated, please wait..
