Friday, May 25, 2012

What is an Operating System? (Extended Machine and Resource Manager)

WHAT IS AN OPERATING SYSTEM? I think its hard to pin down what an operating system is other than saying it is the software that runs in kernel mode and even that is not always true. Basically operating systems perform two unrelated functions: providing application programmers a clean abstract set of resources instead of the messy hardware ones and managing these hardware resources. Therefore, OPERATING SYSTEM = EXTENDED MACHINE + RESOURCE MANAGER Depending on who is doing the talking, you might hear mostly about one function or...

Tuesday, May 8, 2012

What design choices have to be made when integrating COTS products to create a COTS-solution system?

What design choices have to be made when integrating COTS products to create a COTS-solution system? Ans: To develop systems using COTS products, you have to make a number of design choices: 1. Which COTS products offer the most appropriate functionality? Typically, there will be several COTS products available, which can be combined in different ways. If you don’t already have experience with a COTS product, it can be difficult to decide which product is the most suitable. 2. How will data be exchanged? Different products normally use unique...

What is an ERP system?

What is an ERP system? Ans: At a larger scale, an Enterprise Resource Planning (ERP) system may support all of the manufacturing, ordering, and customer relationship management activities in a large company. ERP systems, such as those produced by SAP and BEA, are large-scale integrated systems designed to support business practices such as ordering and invoicing, inventory management, and manufacturing scheduling. The configuration process for these systems involves gathering detailed information about the customer’s business and business processes,...

What are the main benefits of COTS reuse?

What are the main benefits of COTS reuse? Ans: The main benefits of COTS reuse are: 1. As with other types of reuse, more rapid deployment of a reliable system may be possible. 2. It is possible to see what functionality is provided by the applications and so it is easier to judge whether or not they are likely to be suitable. Other companies may already use the applications so experience of the systems is available. 3. Some development risks are avoided by using existing software. However, this approach has its own risks, as I discuss below. 4. Businesses...

What are the process steps involved in creating a new member of a software product line?

What are the process steps involved in creating a new member of a software product line? Ans: The process steps involved in extending a software product line to create a new application are as follows: 1. Elicit stakeholder requirements: You may start with a normal requirements engineering process. However, because a system already exists, you will need to demonstrate the system and have stakeholders experiment with it, expressing their requirements as modifications to the functions provided. 2. Select the existing system that is the closest...

List 4 types of specialization of software product lines?

List 4 types of specialization of software product lines? Ans: Various types of specialization of a software product line may be developed: 1. Platform specialization: Versions of the application are developed for different platforms. For example, versions of the application may exist for Windows, Mac OS, and Linux platforms. In this case, the functionality of the application is normally unchanged; only those components that interface with the hardware and operating system are modified. 2. Environment specialization: Versions of the application...

What features are supported by most web application frameworks?

What features are supported by most web application frameworks? Ans: Most web application frameworks support the following features: 1. Security WAFs may include classes to help implement user authentication (login) and access control to ensure that users can only access permitted functionality in the system. 2. Dynamic web pages Classes are provided to help you define web page templates and to populate these dynamically with specific data from the system database. 3. Database support Frameworks don’t usually include a database but rather...

What are the three classes of application framework discussed by Fayed and Schmidt?

What are the three classes of application framework discussed by Fayed and Schmidt? Ans: Fayad and Schmidt discuss three classes of frameworks: 1. System infrastructure frameworks: These frameworks support the development of system infrastructures such as communications, user interfaces, and compilers. 2. Middleware integration frameworks: These consist of a set of standards and associated object classes that support component communication and information exchange. Examples of this type of framework include Microsoft’s .NET and Enterprise...

What key factors should be considered when considering the most appropriate type of reuse?

What key factors should be considered when considering the most appropriate type of reuse? Ans: Key factors that you should consider when planning reuse are: 1. The development schedule for the software: If the software has to be developed quickly, you should try to reuse off-the-shelf systems rather than individual components. These are large-grain reusable assets. Although the fit to requirements may be imperfect, this approach minimizes the amount of development required. 2. The expected software lifetime: If you are developing a long-lifetime...

What are the main problems with software reuse?

What are the main problems with software reuse? Ans:     Increased maintenance costs: If the source code of a reused software system or component is not available, then maintenance costs may be higher because the reused elements of the system may become increasingly incompatible with system changes. Lack of tool support: Some software tools do not support development with reuse. It may be difficult or impossible to integrate these tools with a component library system. The software process assumed by these tools may not take...

List the main benefits of software reuse.

List the main benefits of software reuse. Ans:     Increased dependability: Reused software, which has been tried and tested in working systems, should be more dependable than new software. Its design and implementation faults should have been found and fixed. Reduced process risk: The cost of existing software is already known, whereas the costs of development are always a matter of judgment. This is an important factor for project management because it reduces the margin of error in project cost estimation. This is particularly...