Vous êtes sur la page 1sur 4

Why use Iteration/Incremental model? Develop a system through repeated cycles (iterative) and in smaller portions at a time (incremental).

This is generally used for more risk prone, dynamic and uncertain projects. User requirements are prioritised and the highest priority requirements are included in early increments. At each iteration, design modifications are made and new functional capabilities are added. Adantages of iteration model 1. 2. 3. 4. The cost of accommodating changing customer requirements is reduced. Early increments act as a prototype to help elicit requirements for later increments. Lower risk of overall project failure. corrective actions can be taken at the end of each iteration

Disadantages of iteration model 1. The project requires a very efficient change control mechanism to manage changes made to the system during each iteration. 2. System structure tends to degrade as new increments are added. 3. The communication overhead for the project team is significant, because each iteration involves giving feedback Differences between waterfall and iterative/incremental model In case of a waterfall model, the stages are in a sequence. Once one stage is over, the process moves to the next phase. Hence, accommodating changes in the middle is difficult. On the other hand, accommodating changes in requirement is easy in an iterative/incremental model. Waterfall model is best suited for large projects. Iterative/incremental model is best suited in case of complex projects. Secondly, because of the sequential nature of Waterfall model, if any mistake is done in between of a phase, we may need to begin from scratch. On the other hand, in iterative/incremental model because the early increments act as prototypes are tested at the end of each phase, mistakes can be handled. Why do Code Review? Code review is performed to find and fix mistakes overlooked in the initial development phase, improving both the overall quality of software and the developers' skills. It aimed to discovering anomalies and defects.

What is Integration testing? Integration testing tests the complete systems or subsystems composed of integrated components. It is a kind of black-box testing with tests derived from the specification. Two approaches: Top-down testing starts with high-level system and integrate from the top-down replacing individual components by stubs where appropriate. Bottom-up testing integrates individual components in levels until the complete system is created. What is System testing? System testing of software or hardware is testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. It includes Usability testing, Performance testing and Acceptance testing. Properties that constitute to a good team? 1. 2. 3. 4. 5. 6. Members are carefully listened to and receive thoughtful feedback. Everyone takes initiative to get things done. Each teammate is open to others. Everyone is supportive of the project and of others. There is plenty of communication between team members. Team decisions are made using organized, logical methods.

What is Version management and why is version management needed? Version management keeps track of the multiple versions of system components thus ensuring that changes made to components by different developers do not interfere with each other. It allows multiple members to work on the changes. What is BCE framework? Entity-layer holds the data and is responsible for its persistence. Control layer contains the rules about how to combine info and how to deal with interaction. Boundary layer is responsible for representing info to user and to receive user interactions. Advantages of Sequence Diagram? It helps to discover architectural, interface and logic problems early. They allow you to flesh out details before having to implement anything.

Types of non functional requirements

1. 2. 3. 4. 5. 6.

Performance requirements Interface requirements Usability requirements Supportability requirements Reliability requirements Acceptance requirements

When use Model View Controller? MVC is used when there are multiple ways to view and interact with data and when the future requirements for interaction and presentation of data are unknown. MVC Advantages MVC allows the data to change independently of its representation and vice versa. MVC supports presentation of the same data in different ways with changes made in one representation shown in all of them. MVC are easier to maintain. MVC Disadvantages MVC Can involve additional code and code complexity when the data model and interactions are simple. MVC not suitable for smaller application as pattern in such applications will have adverse effects in the application's performance and design. What is multi-tier client-server architecture? In a multi-tier clientserver architecture, the different layers of the system, namely presentation, data management, application processing, and database, are separate processes that may execute on different processors. This avoids problems with scalability and performance if a thin-client two-tier model is chosen, or problems of system management if a fat-client model is used. What is peer to peer architecture? Peer to peer (p2p) systems are decentralized systems where computations may be carried out by any node in the network. Peers make a portion of their resources, such as processing power, disk storage or network bandwidth, directly available to other network participants, without the need for central coordination by servers or stable hosts. Explain Elaboration phase in RUP. The primary objective is develop the project plan and to eliminate the project highest-risk elements. In this phrase, the problem domain is analysis is made and a sound architecture foundation gets its basic form. (A use-case model (at least 80% complete) in which all use cases have been identified in the use-case model survey, all
actors have been identified, and most use-case descriptions have been developed. Supplementary requirements that capture the non-functional requirements. A software architecture description. An executable architectural prototype. A revised risk list and a revised business case. A development plan for the overall project, including the coarse-grained project plan, which shows iterations and evaluation criteria for each iteration)

Explain Construction phase and its activities in RUP The primary objective is to develop remaining components and application features and integrate all parts into the product. All features are also tested. Activities includes resource management, resource control, process optimization, complete component development and testing against the defined evaluation criteria and assessment of product releases against acceptance criteria for the vision.

RUP Roles and responsibilities Test Engineer determines how to create a process that would test a particular product and the best way a test can be performed in order to achieve 100% test coverage of all components using different test processes. Designer is someone who works on creating pieces of software at a fairly high level to meet their clients' or managements' various needs and also in charge of making sure that all of the various requirements of the software are taken into account before the actual coding begins. A Configuration Manager is responsible for the Configuration Management process and the Configuration Management Database (CMDB). He or she has the create, read, update, and delete permissions to on all configuration items in the CMDB. A configuration manager is also a super user for all accounts in a multi-customer environment. Why is Refactoring needed? What makes code hard to modify? Refacotring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior. It improves code readability, ease of working on it and reduces complexity to improve the maintainability of the source code, as well as a more expressive internal architecture or object model to improve extensibility. Duplicated code, long method, too many parameters, large classes and contrived complexity are some of the symptom that makes code hard to modify.

Vous aimerez peut-être aussi