簡答
1.Why are linear approaches not preferred for software development?
- In linear approaches, the requirements for the software system are finalized(確定) before the design phase. Once the SRS for the software is developed, the approach assumes that there will be no change in the requirements. However, this is not true for most projects. The requirements for such software evolve during the development process and, therefore, cannot be finalized in the beginning of the project. As a result, linear approaches are not preferred.
線性方法中的需求已經被確定了,而大多數項目要求在開發過程中還要進行演變,所以線性方法不適合。
2.What is the main advantage of the object-oriented design approach over the function-oriented design approach?
- The object-oriented design approach applies reuse engineering on classes. The object-oriented design approach supports the inheritance of attributes and operations among classes, which enables the reusability of code.
面向對象的設計方法將重用工程應用于類。面向對象的設計方法支持類之間的屬性和操作的繼承,從而實現代碼的可重用性。 - The function-oriented design approach is module-centric and concentrates on functions of the software. As a result, it is difficult to separate the construction of one module from the other. Reusability of the software becomes difficult as functions become complex. Another limitation of the function-oriented approach is that data is visible and accessible across the program.
面向功能的設計以模型為中心,注重軟件功能,導致難以從其他模塊分離出一個模塊結構。隨著功能變得復雜軟件的重用性變得難以實現,面向功能的方法的數據對其他應用可見,可跨應用訪問。
3.What is the difference between OOPs and OOAD?
- Although the concept behind OOAD and OOPs is similar, OOAD is an analysis and design technique used in the analysis and design phases of the SDLC. However, OOPs is a programming technique used in the coding phase of the SDLC.
OOAD被用在分析與設計階段,OOPS正常被用在軟件開發生命周期的編碼階段
4.What does a deployment diagram represent?
- A deployment diagram represents all the nodes required to deploy the software, such as the client and server nodes that contains the various components of the software system.
部署關系圖表示部署軟件所需要的所有節點,例如包含軟件系統各種組件的客戶端和服務器節點 - The deployment diagram also represents the relationship among the various nodes of the system.
也表示系統節點間的關系
5.Which UML diagrams can you use to design the system architecture?
- You can use the component and deployment diagrams to design the system architecture.
組件圖和部署圖
6.How can use cases help increase the project quality?
- You map the use cases with the features of the software system to ensure that use cases for all the features have been identified.
用例與軟件系統特性對應,保證所有特性都被用例確定 - Similarly, the code that is generated in the implementation phase is mapped with the use cases to verify that the code implements the functions of all the use cases.實現階段生成的代碼與用例對應,保證實現所有用例的功能
7.What is a use case driven model?
- In a use case driven model(用例驅動模型), use cases are used throughout the Software Development Life Cycle (SDLC). You model requirements by using use cases, and then create class diagrams using the use cases identified in the requirements analysis phase. (使用在需求分析階段定義的用例去創造類圖)You also use the use cases to generate the test cases in the testing phase of the SDLC. (你也需要在軟件開發的生命周期去使用用例去生成測試用例)Finally, you use the use cases for requirement traceability.
在用例驅動模型里面,用例可以被應用于整個軟件開發周期。使用用例對需求建模,然后使用在需求分析階段被確定的用例來創建類關系圖,在測試階段使用用例來生成測試用例,使用用例進行需求跟蹤。
8.What is use case realization?
- Use case realization is a collaboration of classes that interact with each other to realize a use case. Use case realization describes how the functions of a particular use case are implemented in the design model.
用例實現是相互交互以實現用例的類的協作。描述了在設計階段特定用例的功能是如何實現的。
9. How is a class diagram different from an object diagram?
- A class diagram represents classes, their attributes, operations, and relationships. Conversely, an object diagram represents objects, their attribute values, and relationships. An object in a class diagram is an instance of a class in a class diagram.
類關系圖表示類,類的屬性、操作和關系。對象關系圖表示對象,對象屬性值和關系。對象圖中的對象是類圖中類的實例
10.What is the difference between aggregation and composition?
- An aggregation relationship between two classes indicates that a class is a part of another class. Conversely, in a composition relationship, one class contains another class. For example, in an order management system, a customer can place multiple orders. Therefore, the Customer and Order classes share an aggregation relationship. Every order consists of the order information. Therefore, the Order and OrderDetail classes share a composition relationship.
聚合:類a是類b的一部分,并且類a可獨立存在。組合:類a包含類b,且類a控制類b的生命周期
11.What is the difference between a sequence diagram and a communication diagram?
- Sequence diagram and communication diagram are the two most commonly used types of interaction diagrams. The difference between sequence and communication diagrams is that sequence diagrams depict the flow of control of messages by time ordering as opposed to communication diagrams that emphasize on the organization of objects to depict the flow of control of messages.
序列圖按時間表示信息控制流,而通信圖著重表示信息對象的結構化組織。
12.What does an activity diagram illustrate(說明)?
- An activity diagram shows the workflow or an operation in terms of the sequence of activities and transitions.
活動圖根據活動和轉換順序顯示工作流程或操作。