Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Standard view
Full view
of .
Look up keyword
Like this
0 of .
Results for:
No results containing your search query
P. 1


Ratings: (0)|Views: 124|Likes:
Published by Nitin Sivach

More info:

Published by: Nitin Sivach on May 30, 2011
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less





MC0071 ± Software Engineering
Book ID: B0808 & B0809
1. Describe the concurrent development model in your own words.
Ans:1Concurrent Development Model
The concurrent process model defines a series of events that will trigger transition from state to statefor each of the software engineering activities. For e.g., during early stages of design, an inconsistency inthe analysis model is uncovered. This generates the event analysis model correction, which will triggerthe analysis activity from the
state into the
awaiting Changes
The concurrent process model is often used as the paradigm for the development of client/server applications. A client/server system is composed of a set of functional components. Whenapplied to client/server, the concurrent process model defines activities in two dimensions asystem dimension and component dimension. System level issues are addressed using threeactivities, design assembly, and use. The component dimension addressed with two-activitydesign and realization. Concurrency is achieved in two ways; (1) System and componentactivities occur simultaneously and can be modeled using the state ± oriented approach (2) atypical client server application is implemented with many components, each of which can bedesigned and realized concurrently.The concurrent process model is applicable to all types of software development and provides anaccurate picture of the current state of a project. Rather than confining software-engineeringactivities to a sequence of events, it defines a net work of activities. Each activity on the network exists simultaneously with other activities. Events generated within a given activity or at someother place in the activity network trigger transitions among the sates of an activity.
. Explain the following concepts with respect to Software Reliability:A) Software Reliability Metrics B) Programming for Reliability
Ans:2Software reliability Metrics:
etrics which have been used for software reliability specification are shown in Figure 3.1 shown below.The choice of which metric should be used depends on the type of system to which it applies and therequirements of the application domain. For some systems, it may be appropriate to use differentreliability metrics for different sub-systems.
MC0071 ± Software Engineering
Book ID: B0808 & B0809
Fig. 3.1: Reliability matrix
 In some cases, system users are most concerned about how often the system will fail, perhaps because there is a significant cost in restarting the system. In those cases, a metric based on a rateof failure occurrence (ROCOF) or the mean time to failure should be used.In other cases, it is essential that a system should always meet a request for service because thereis some cost in failing to deliver the service. The number of failures in some time period is lessimportant. In those cases, a metric based on the probability of failure on demand (POFOD)should be used. Finally, users or system operators may be mostly concerned that the system isavailable when a request for service is made. They will incur some loss if the system isunavailable. Availability (AVAIL). Which takes into account repair or restart time, is then themost appropriate metric.
MC0071 ± Software Engineering
Book ID: B0808 & B0809
There are three kinds of measurement, which can be made when assessing the reliability of asystem:1) The number of system failures given a number of systems inputs. This is used to measure thePOFOD.2) The time (or number of transaction) between system failures. This is used to measure ROCOFand MTTF.3) The elapsed repair or restart time when a system failure occurs. Given that the system must becontinuously available, this is used to measure AVAIL.Time is a factor in all of this reliability metrics. It is essential that the appropriate time unitsshould be chosen if measurements are to be meaningful. Time units, which may be used, arecalendar time, processor time or may be some discrete unit such as number of transactions.
rogramming for Reliability:
There is a general requirement for more reliable systems in all application domains. Customersexpect their software to operate without failures and to be available when it is required.Improved programming techniques, better programming languages and better qualitymanagement have led to very significant improvements in reliability for most software.However, for some systems, such as those, which control unattended machinery, these µnormal¶techniques may not be enough to achieve the level of reliability required. In these cases, special programming techniques may be necessary to achieve the required reliability. Some of thesetechniques are discussed in this chapter.Reliability in a software system can be achieved using three strategies:·
Fault avoidance:
This is the most important strategy, which is applicable to all types of system. The design and implementation process should be organized with the objective of  producing fault-free systems.·
Fault tolerance:
This strategy assumes that residual faults remain in the system. Facilities are provided in the software to allow operation to continue when these faults cause system failures.·
Fault detection:
Faults are detected before the software is put into operation. The softwarevalidation process uses static and dynamic methods to discover any faults, which remain in asystem after implementation.

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->