Thursday, October 13, 2011

What are the six fundamental best practices in the RUP- Rational Unified Process?

RUP - Rational Unified Process is an example of a modern process model that has been derived from work on the UML and the associated Unified Software Development Process. The six fundamental best practices in the RUP- Rational Unified Process are: 1. Develop software iteratively: Plan increments of the system based on customer priorities and develop the highest-priority system features early in the development process. 2. Manage requirements: Explicitly...

What are the 4 sectors in each loop in Boehmʼs spiral model?

The 4 sectors in each loop in Boehmʼs spiral model are: 1. Objective setting: Specific objectives for that phase of the project are defined. Constraints on the process and the product are identified and a detailed management plan is drawn up. Project risks are identified. Alternative strategies, depending on these risks, may be planned. 2. Risk assessment and reduction: For each of the identified project risks, a detailed analysis is carried out....

Why is it increasingly irrelevant to distinguish between software development and evolution?

Softwares continually changes during their lifetime in response to the changing requirements and customer needs. So software evolution does not stop until the end of the lifetime of the software and so as the software development does not st...

What are the principal requirements engineering activities?

The principal requirements engineering activities are: (a) Feasibility study (b) Requirements elicitation and analysis (c) Requirements specification (d) Requirements validat...

What are the development stages in reuse-based development?

1. Component analysis: Given the requirements specification, a search is made for components to implement that specification. Usually, there is no exact match and the components that may be used only provide some of the functionality required. 2. Requirements modification: During this stage, the requirements are analyzed using information about the components that have been discovered. They are then modified to reflect the available components. Where modifications are impossible, the component analysis activity may be re-entered to search...

What are the benefits of incremental development, compared to the waterfall model?

Incremental development has a number of advantages: 1. Customers can use the early increments as prototypes and gain experience that informs their requirements for later system increments. Unlike prototypes, these are part of the real system so there is no re-learning when the complete system is available. 2. Customers do not have to wait until the entire system is delivered before they can gain value from it. The first increment satisfies their most critical requirements so they can use the software immediately. 3. The process maintains the benefits...

Why are iterations usually limited when the waterfall model is used?

The waterfall model requires clients to commit to particular set of requirements before design begins and designer to commit to particular design strategies based on those set of requirements formally assigned to the system by the clients. If there is any change happens, they will have to go through the entire rework process again which is costly and takes more ti...

List the 3 generic process models that are used in software engineering?

The waterfall model, Evolutionary development and Component-based software engineeri...

What is a software engineering code of ethics?

A set of guidelines that set out expected ethical and professional behavior for software engineers. This was defined by the major U.S. professional societies (the ACM and the IEEE) and defines ethical behavior under eight headings: public, client and employer, product, judgment, management, colleagues, profession, and se...

List 5 different types of software application.

Word processing, web browsing, graphic interfaces, management tools, games e...

What are the 3 general issues that affect many different types of software?

1. Heterogeneity: Increasingly, systems are required to operate as distributed systems across networks that include different types of computer and mobile devices. As well as running on general-purpose computers, software may also have to execute on mobile phones. You often have to integrate new software with older legacy systems written in different programming languages. The challenge here is to develop techniques for building dependable software that is flexible enough to cope with this heterogeneity. 2. Business and social change: Business...

What is the distinction between computer science and software engineering?

Software engineering is the engineering discipline that deals with practical problems of producing software. Computer science deals with the theories and methods of computer systems. It is mandatory for a software engineer to have some knowledge of computer scien...

What are the four fundamental activities in software processes?

A software process is a sequence of activities that leads to the production of a software product. There are four fundamental activities that are common to all software processes. These activities are: 1. Software specification, where customers and engineers define the software that is to be produced and the constraints on its operation. 2. Software development, where the software is designed and programmed. 3. Software validation, where the software is checked to ensure that it is what the customer requires. 4. Software evolution, where the software...

What is software engineering?

Software engineering is an engineering discipline that is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use. In this definition, there are two key phrases:1. Engineering discipline: Engineers make things work. They apply theories, methods, and tools where these are appropriate. However, they use them selectively and always try to discover solutions to problems even when there are no applicable theories and methods. Engineers also recognize...

What are the two fundamental types of software product?

Software engineers are concerned with developing software products (i.e., software which can be sold to a customer). There are two fundamental kinds of software products: Generic products: These are stand-alone systems that are produced by a development organization and sold on the open market to any customer who is able to buy them. Examples of this type of product include software for PCs such as databases, word processors, drawing packages, and project-management tools. It also includes so-called vertical applications...

What are the essential attributes of good software?

The essential attributes of good software are Ans: Dependability: It should be secure, safe and reliable so: we can depend on it. In any case of system failure, it should not cause any case of physical or economic damage to the system. Maintainability: It should be easily maintainable in any case of platform change or changing client’s needs. Efficiency: It should give us perfect possible efficiency without over using required memory and processor cycles. Usability: It should be user friendly and easy to interact with customers through an appropriate...

Fabrication of an IC-Integrated Circuit (even thinner than human hair)

An integrated circuit, also referred to as IC, chip, or microchip, is an electronic circuit manufactured by the patterned diffusion of trace elements into the surface of a thin substrate of semiconductor material. Additional materials are deposited and patterned to form interconnections between semiconductor devices. Semiconductor device fabrication is the process used to create the integrated circuits that are present in everyday electrical and...

Wednesday, October 12, 2011

What are the principal stages of the waterfall model that reflect the fundamental software development activities?

The principal stages of the waterfall model directly reflecting the fundamental software development activities are: 1. Requirements analysis and definition: The system’s services, constraints, and goals are established by consultation with system users. They are then defined in detail and serve as a system specification. 2. System and software design: The systems design process allocates the requirements to either hardware or software systems...

VHDL code for 2-4 decoder

Following is the VHDL code for 2-4 decoder. library ieee; use ieee.std_logic_1164.all; entity decoder_2_4 is    port(       a: in std_logic_vector(1 downto 0);       en: in std_logic;       y: out std_logic_vector(3 downto 0)    ); end decoder_2_4; architecture arch of decoder_2_4 is begin     y <= "0000" when (en='0') else          "0001" when (a="00") else          "0010" when (a="01") else        ...