Friday, March 23, 2012

What are the three controls may be put in place to enhance system security?

What are the three controls may be put in place to enhance system security? Ans: The controls that you might put in place to enhance system security are: 1. Vulnerability avoidance: Controls that are intended to ensure that attacks are unsuccessful. The strategy here is to design the system so that security problems are avoided. For example, sensitive military systems are not connected to public networks so that external access is impossible. You should also think of encryption as a control based on avoidance. Any unauthorized access to encrypted...

What are the three principal threats to the security of a system?

What are the three principal threats to the security of a system? Ans: In any networked system, there are three main types of security threats: 1. Threats to the confidentiality of the system and its data: These can disclose information to people or programs that are not authorized to have access to that information. 2. Threats to the integrity of the system and its data: These threats can damage or corrupt the software or its data. 3. Threats to the availability of the system and its data: These threats can restrict access to the software or...

What is the distinction between a hazard and an accident?

What is the distinction between a hazard and an accident? Ans: Accident: An unplanned event or sequence of events which results in human death or injury, damage to property, or to the environment. An overdose of insulin is an example of an accident. Hazard: A condition with the potential for causing or contributing to an accident. A failure of the sensor that measures blood glucose is an example of a haza...

What is the most important difference between the two classes of safety critical system?

What is the most important difference between the two classes of safety critical system? Ans: Safety-critical software falls into two classes: 1. Primary safety-critical software: This is software that is embedded as a controller in a system. Malfunctioning of such software can cause a hardware malfunction, which results in human injury or environmental damage. The insulin pump software, introduced in Chapter 1, is an example of a primary safety-critical system. System failure may lead to user injury. 2. Secondary safety-critical software: This...

Explain the difference between a system fault and a system failure.

Explain the difference between a system fault and a system failure. Ans: System fault: A characteristic of a software system that can lead to a system error. The fault is the inclusion of the code to add 1 hour to the time of the last transmission, without a check if the time is greater than or equal to 23.00. System faults do not always result in system errors and system errors do not necessarily result in system failures. System failure: An event that occurs at some point in time when the system does not deliver a service as expected by its...

Explain how a relatively unreliable system can provide a high level of availability.

Explain how a relatively unreliable system can provide a high level of availability. Ans: A telephone exchange switch that routes phone calls is an example of a system where availability is more important than reliability. Users expect a dial tone when they pick up a phone, so the system has high availability requirements. If a system fault occurs while a connection is being set up, this is often quickly recoverable. Exchange switches can usually reset the system and retry the connection attempt. This can be done very quickly and phone users may...

Briefly define what availability means?

Briefly define what availability means? Ans: Availability is the probability that a system, at a point in time, will be operational and able to deliver the requested services. A telephone exchange switch that routes phone calls is an example of a system where availability is more important than reliability. Users expect a dial tone when they pick up a phone, so the system has high availability requiremen...

List two other system properties that are sometimes considered to be dependability properties.

List two other system properties that are sometimes considered to be dependability properties. Ans: 1. Maintainability: As systems are used, new requirements emerge and it is important to maintain the usefulness of a system by changing it to accommodate these new requirements. Maintainable software is software that can be adapted economically to cope with new requirements, and where there is a low probability that making changes will introduce new errors into the system. 2. Survivability: A very important attribute for Internet-based systems is...

What are the four principal dependability properties?

What are the four principal dependability properties? Ans: There are four principal dependability properties: 1. Availability: Informally, the availability of a system is the probability that it will be up and running and able to deliver useful services to users at any given time. 2. Reliability: Informally, the reliability of a system is the probability, over a given period of time, that the system will correctly deliver services as expected by the user. 3. Safety: Informally, the safety of a system is a judgment of how likely it is that the system...

Give three reasons why a system’s dependability is more important than its detailed functionality.

Give three reasons why a system’s dependability is more important than its detailed functionality. Ans: The dependability of systems is now usually more important than their detailed functionality for the following reasons: 1. System failures affect a large number of people. Many systems include functionality that is rarely used. If this functionality were left out of the system, only a small number of users would be affected. System failures, which affect the availability of a system, potentially affect all users of the system. Failure may mean...

What are latent conditions and active failures?

What are latent conditions and active failures? Ans: Inevitably, all barriers have weaknesses of some kind. Reason calls these ‘latent conditions’ as they usually only contribute to system failure when some other problem occurs. For example, a weakness of a conflict alert system is that it may lead to many false alarms. Latent conditions lead to system failure when the defenses built into the system do not trap an active failure by a system operator. The human error is a trigger for the failure but should not be considered to be the sole cause...

Why are plan-driven (rather than agile) processes used in systems engineering?

Why are plan-driven (rather than agile) processes used in systems engineering? Ans: Plan-driven processes are used in systems engineering because different parts of the system are being developed at the same time. For systems that include hardware and other equipment, changes during development can be very expensive or, sometimes, practically impossible. It is essential therefore, that the system requirements are fully understood before hardware development or building work begins. Reworking the system design to solve hardware problems is rarely...

What are the main drivers for system procurement decisions?

What are the main drivers for system procurement decisions? Ans: The drivers for system procurement decisions are: 1. The state of other organizational systems: If the organization has a mixture of systems that cannot easily communicate or that are expensive to maintain, then procuring a replacement system may lead to significant business benefits. 2. The need to comply with external regulations: Increasingly, businesses are regulated and have to demonstrate compliance with externally defined regulations (e.g., Sarbanes-Oxley accounting regulations...

What are the three principal stages of systems engineering?

What are the three principal stages of systems engineering? Ans: 1. Procurement or acquisition: During this stage, the purpose of a system is decided; high-level system requirements are established; decisions are made on how functionality will be distributed across hardware, software, and people; and the components that will make up the system are purchased. 2. Development: During this stage, the system is developed. Development processes include all of the activities involved in system development such as requirements definition, system design,...

What is a wicked problem?

What is a wicked problem? Ans: Generally, complex socio-technical systems are developed to tackle what are sometimes called ‘wicked problems’. A wicked problem is a problem that is so complex and which involves so many related entities that there is no definitive problem specification. Different stakeholders see the problem in different ways and no one has a full understanding of the problem as a whole. The true nature of the problem may only emerge as a solution is developed. An extreme example of a wicked problem is earthquake planning. No one...

Why are socio-technical systems non-deterministic?

Why are socio-technical systems non-deterministic? Ans: Socio-technical systems are non-deterministic partly because they include people and partly because changes to the hardware, software, and data in these systems are so frequent. The interactions between these changes are complex and so the behavior of the system is unpredictable. This is not a problem in itself but, from a dependability perspective, it can make it difficult to decide whether or not a system failure has occurred, and to estimate the frequency of system failures. For example,...

What are three influences on the reliability of a system?

What are three influences on the reliability of a system? Ans: In a socio-technical system, you need to consider reliability from three perspectives: 1. Hardware reliability: What is the probability of hardware components failing and how long does it take to repair a failed component? 2. Software reliability: How likely is it that a software component will produce an incorrect output? Software failure is distinct from hardware failure in that software does not wear out. Failures are often transient. The system carries on working after an incorrect...

What are emergent properties?

What are emergent properties? Ans: The complex relationships between the components in a system mean that a system is more than simply the sum of its parts. It has properties that are properties of the system as a whole and cannot be attributed to any specific part of the system, known as ‘emergent properties’. There are two types of emergent properties: 1. Functional emergent properties when the purpose of a system only emerges after its components are integrated. For example, a bicycle has the functional property of being a transportation device...

What is the difference between a technical and a socio-technical system?

What is the difference between a technical and a socio-technical system? Ans: Technical computer-based systems are systems that include hardware and software components but not procedures and processes. Examples of technical systems include televisions, mobile phones, and other equipment with embedded software. Most software for PCs, computer games, etc., also falls into this category. Individuals and organizations use technical systems for a particular purpose but knowledge of this purpose is not part of the system. For example, the word processor...

What is the difference between the business process layer and the organizational layer in the socio--technical systems stack?

What is the difference between the business process layer and the organizational layer in the socio--technical systems stack? Ans: At business process layer level, the organizational business processes, which make use of the software system, are defined and enacted. The organizational layer includes higher-level strategic processes as well as business rules, policies, and norms that should be followed when using the syst...

Binary Search Integer Array C Code Algorithm (Simplified code to learn)

What are search algorithms? Given a database, the first thing you would want to do is probably search through its entries to see if a particular entry exists. This is why search algorithms are one of the most basic and widely used algorithms, and one of the first algorithms taught in any class. Binary Search drastically reduces the worst-case time required to search through a database. However, it can be used only when the database is sorted i.e. when the entries are arranged either in ascending or descending order. Following binary search algorithm(in...

Monday, March 19, 2012

Changing login shell on a Linux machine

How can you change your default login shell on a Linux machine? Whenever you get your first account on a Linux machine, your account will use Bourne Again Shell as its default login shell. But using bash is not a requirement, you can choose any shell to be your login shell. The chsh utility is used to change your default login shell. 'chsh' allows you to change your default login shell. It prompts you for the full pathname of the new shell, which is then used as your shell for subsequent logins. For example, I changed my default login shell...

Thursday, March 8, 2012

BCD Incrementor Lab VHDL Code (binary-coded-decimal and show digits on 7-segment LED's)

Project specification: The binary-coded-decimal (BCD) format uses 4 bits to represent 10 decimal digits. For example, 259 is represented as "0010 0101 1001" in BCD format. A BCD incrementor adds 1 to a number in BCD format. For example, after incrementing, "0010 0101 1001" (i.e., 259) becomes "0010 0110 0000" (i.e., 260). We want to design the circuit and display the results on three 7- segment LED displays. The input and output of the incrementor are input: b2, b1, b0: three 4-bit inputs representing 3 BCD digits and b2 is the most significant...

Thursday, March 1, 2012

List four important factors used to assess applications for evolution.

List four important factors used to assess applications for evolution. Answer: Understandability How difficult is it to understand the source code of the current system? How complex are the control structures that are used? Do variables have meaningful names that reflect their function? Documentation What system documentation is available? Is the documentation complete, consistent, and current?Data Is there an explicit data model for the system? To what extent is data duplicated across files? Is the data used by the system up-to-date and consistent?Performance...

What are the strategic options for legacy system evolution?

What are the strategic options for legacy system evolution? Answer: There are four strategic options: 1. Scrap the system completely: This option should be chosen when the system is not making an effective contribution to business processes. This commonly occurs when business processes have changed since the system was installed and are no longer reliant on the legacy system.2. Leave the system unchanged and continue with regular maintenance: This option should be chosen when the system is still required but is fairly stable and the system...

What are the principal systems re-engineering activities?

What are the principal systems re-engineering activities? Answer: The activities in this reengineering process are as follows: 1. Source code translation: Using a translation tool, the program is converted from an old programming language to a more modern version of the same language or to a different language.2. Reverse engineering: The program is analyzed and information extracted from it. This helps to document its organization and functionality. Again, this process is usually completely automated.3. Program structure improvement: The control...

What process metrics might be used to assess maintainability?

What process metrics might be used to assess maintainability?Answer: Examples of process metrics that can be used for assessing maintainability are as follows:1. Number of requests for corrective maintenance: An increase in the number of bug and failure reports may indicate that more errors are being introduced into the program than are being repaired during the maintenance process. This may indicate a decline in maintainability.2. Average time required for impact analysis: This reflects the number of program components that are affected by...

What factors should be assessed to understand the relationship between a system and its environment?

What factors should be assessed to understand the relationship between a system and its environment? Answer: The following factors should be assessed to evaluate the relationships between a system and its environment: 1. The number and complexity of system interfaces: The larger the number of interfaces and the more complex these interfaces, the more likely it is that interface changes will be required as new requirements are proposed.2. The number of inherently volatile system requirements: Requirements that reflect organizational policies...

What are the three different types of software maintenance and how is effort distributed across these maintenance types?

What are the three different types of software maintenance and how is effort distributed across these maintenance types? Answer: There are three different types of software maintenance: 1. Fault repairs: Coding errors are usually relatively cheap to correct; design errors are more expensive as they may involve rewriting several program components. Requirements errors are the most expensive to repair because of the extensive system redesign which may be necessary.2. Environmental adaptation: This type of maintenance is required when some aspect...