Ian sommerville software engineering 6th edition ppt


















Start on. Show related SlideShares at end. WordPress Shortcode. Share Email. Top clipped slide. Technology , Education. Download Now Download Download to read offline. Siddharth Ayer Follow. Computer Engineer at Home. Software Engineering - Ch7. Software Engineering - Ch Software Engineering - Ch1. Software Engineering - Ch8. Architectural patterns for real-time systems. Software engineering lecture notes. Software Engineering ppt. Related Books Free with a 30 day trial from Scribd.

Related Audiobooks Free with a 30 day trial from Scribd. Empath Up! Raagan Gupta. Sonali Panda. Obasi Oluwaferanmi. Vamshi Sunny. Anjali Hati. Rishita Reddy. Abeer El Bashbishy at Mansoura University. Show More. Views Total views. Actions Shares. No notes for slide. Software Engineering - Ch6 1. Chapter 6 Slide 1 Software Requirements 2. Chapter 6 Slide 5 What is a requirement? Once a contract has been awarded, the contractor must write a system definition for the client in more detail so that the client understands and can validate what the software will do.

Both of these documents may be called the requirements document for the system. Can the requirements be implemented given available budget and technology l Verifiability. Can the requirements be checked? Is the requirement realistically testable? Is the requirement properly understood? Is the origin of the requirement clearly stated? Can the requirement be changed without a large impact on other requirements?

Stable requirements derived from the core activity of the customer organisation. May be derived from domain models l Volatile requirements. Requirements which change during development or when the system is in use. The display shows the current time. Half power The oven power is set to watts. Full power The oven power is set to watts.

The display shows the cooking time selected and is updated as the time is set. Disabled Oven operation is disabled for safety.

Interior oven light is on. Enabled Oven operation is enabled. Interior oven light is off. Operation Oven in operation. Display shows the timer countdown. On completion of cooking, the buzzer is sounded for 5 seconds. Oven light is on. Holds structured or unstructured Label information about nodes or links. Entity 8. A relation between design Link entities represented as nodes. Links Relation 8. Each label has a name which name identifies the type of label.

The name Attribute 8. Each node has a name which must be name unique within a design. The name Attribute The development starts with those requirements which are best understood. AI systems and user interface systems l Based on techniques which allow rapid system iterations l Verification is impossible as there is no specification. This may require leaving out functionality or relaxing non-functional constraints l Prototyping techniques include the use of very high-level languages, database programming and prototype construction from reusable components l Prototyping is essential for parts of the system such as the user interface which cannot be effectively pre-specified.

Operations which create entities of the type being specified l Inspection operations. No need to define Head and Length with Tail. The operations are Create, which brings an empty list into existence, Cons, which creates a new list with an added member, Length, which evaluates the list size, Head, which evaluates the front element of the list, and Tail, which creates a list by removing the head from its input list.

Undefined represents an undefined value of type Elem. They remove areas of doubt in a specification l Formal specification forces an analysis of the system requirements at an early stage. One system component controls the stopping, starting and coordination of other system processes. An event is broadcast to all sub-systems. When these occur, control is transferred to the sub-system which can handle the event l Control policy is not embedded in the event and message handler. If a meaningful and universally understood identification scheme is not used then many of these resources will be inaccessible to system users.

However, where there are specific requirements for performance, reliability etc. Quality of service The quality of service offered by a system reflects its performance, availability and reliability. It is affected by a number of factors such as the allocation of processes to processes in the system, the distribution of resources across the system, the network and the system hardware and the adaptability of the system.

Software The software architecture describes how the application architectures functionality is distributed over a number of logical components and how these components are distributed across processors.

Choosing the right architecture for an application is essential to achieve the desired quality of service. The client is simply responsible for running the presentation software. The software on the client implements the application logic and the interactions with the system user. Microsoft Excel on the client fat clients Applications where computationally-intensive processing of data e. In this case, you think about how to provide application functionality solely in terms of services and combinations of services l As a flexible approach to the implementation of client-server systems.

The state is represented as a set of object attributes. The operations associated with the object provide services to other objects clients which request these services when some computation is required. Objects are created according to some object class definition. An object class definition serves as a template for objects. It includes declarations of all the attributes and services which should be associated with an object of that class. Identifying the inheritance hierarchy or network is a fundamental part of object-oriented design.

Obviously this can only be implemented using an OOPL. Inheritance is a useful implementation concept which allows reuse of attribute and operation definitions. The position may be updated using a satellite positioning system. Weather stations transmit their data to the area computer in response to a request from that machine.

The area computer validates the collected data and integrates it with the data from different sources. The integrated data is archived and, using data from this archive and a digitised map database a set of local weather maps is created. Maps may be printed for distribution on a special-purpose map printer or may be displayed in a number of different formats. The instruments include air and ground thermometers, an anemometer, a wind vane, a barometer and a rain gauge. Data is collected every five minutes.

When a command is issued to transmit the weather data, the weather station processes and summarises the collected data. The summarised data is transmitted to the mapping computer when a request is received. Use a subsystem model to show other systems. Following slide shows the systems around the weather station system. The data sent are the maximum minimum and average ground and air temperatures, the maximum, minimum and average air pressures, the maximum, minimum and average wind speeds, the total rainfall and the wind direction as sampled at 5 minute intervals.

Stimulus The weather data collection system establishes a modem link with the weather station and requests transmission of the data. Response The summarised data is sent to the weather data collection system Comments Weather stations are usually asked to report once per hour but this frequency may differ from one station to the other and may be modified in future. It relies on the skill, experience and domain knowledge of system designers l Object identification is an iterative process.

This is a logical model. The actual organisation of objects in the system may be different. These include static and dynamic system models l Object interfaces should be defined precisely using e. Even simple systems can have a complex model. Highest priority which is allocated to processes requiring a very fast response l Clock level priority. Door alarm Each door alarm should be polled twice per second.

Window alarm Each window alarm should be polled twice per second. Movement detector Each movement detector should be polled twice per second. Communications The call to the police should be started within 2 seconds of an alarm being raised by a sensor. Voice synthesiser A synthesised message should be available within 4 seconds of an alarm being raised by a sensor. Consumer processes take data from the buffer and make elements available l Producer and consumer processes must be mutually excluded from accessing the same element.

Screen spec. Report spec. Icons Icons different types of information. On some systems, icons represent files; on others, icons represent processes. Menus Commands are selected from a menu rather than typed in a command language. Pointing A pointing device such as a mouse is used for selecting choices from a menu or indicating items of interest in a window.

Graphics Graphical elements can be mixed with text on the same display. Consistency The interface should be consistent in that, wherever possible, comparable operations should be activated in the same way. Minimal surprise Users should never be surprised by the behaviour of a system.

Recoverability The interface should include mechanisms to allow users to recover from errors. User guidance The interface should provide meaningful feedback when errors occur and provide context-sensitive user help facilities. User diversity The interface should provide appropriate interaction facilities for different types of system user.

For example, an office system should use concepts such as letters, documents, folders etc. Commands and menus should have the same format, command punctuation should be similar, etc. This might include an undo facility, confirmation of destructive actions, 'soft' deletes, etc.

UNIX l May be implemented using cheap terminals. Command interfaces are therefore unsuitable for occasional users l Users make errors in command. Generally, the vocabulary is limited and these systems are confined to specific application domains e. Must the change be indicated immediately? Are relative values important? Please choose another name Ch. However, beginners find it difficult to understand short terse statements of the problem.

The user guidance system should provide both types of message and allow the user to control message conciseness. Messages for the different classes of user may be expressed in different ways depending on the terminology which is familiar to the reader.

Style Messages should be positive rather than negative. They should use the active rather than the passive mode of address. They should never be insulting or try to be funny. Culture Wherever possible, the designer of messages should be familiar with the culture of the country where the system is sold.

There are distinct cultural differences between Europe, Asia and America. A suitable message for one culture might be unacceptable in another. Patient J. The system asks for the name of the user or users to whom the mail has been sent You are here more next topics Help history 1. Mail 2. Send mail 3. Read mail 4.

Robustness How tolerant is the system of user error? Recoverability How good is the system at recovering from user errors?

Adaptability How closely is the system tied to a single model of work? An interface should be logical and consistent and help users recover from errors l Interaction styles include direct manipulation, menu systems form fill-in, command languages and natural language l Graphical displays should be used to present trends and approximate values.

I do not cover it in this course. System fault An incorrect system state i. Human error or Human behaviour that results in the introduction mistake of faults into a system. A computer- controlled machine injuring its operator is an example of an accident. Hazard A condition with the potential for causing or contributing to an accident. A failure of the sensor which detects an obstacle in front of a machine is an example of a hazard.

Damage A measure of the loss resulting from a mishap. Damage can range from many people killed as a result of an accident to minor injury or property damage. Hazard An assessment of the worst possible damage which could result from a severity particular hazard.

Hazard severity can range from catastrophic where many people are killed to minor where only minor damage results Hazard The probability of the events occurring which create a hazard.

Risk This is a measure of the probability that the system will cause an accident. The risk is assessed by considering the hazard probability, the hazard severity and the probability that a hazard will result in an accident. Software failures are different from hardware failures in that software does not wear out.

It can continue in operation even after an incorrect result has been produced. This metric is sometimes called the failure intensity. MTTF The average time between observed system failures. For Mean time to failure example, an MTTF of means that 1 failure can be expected every time units. MTTR The average time between a system failure and the return of Mean time to repair that system to service. For example, an availability of 0. The reliability specification must be structured. Transient, non- The magnetic stripe data cannot be POFOD corrupting read on an undamaged card which 1 in transactions is input.

Transient, A pattern of transactions across the Unquantifiable! Should corrupting network causes database never happen in the corruption. Safety req. Ideally, these should be as small a part as possible of the whole system. Usually there will be a number of alternative causes. The degree of required protection depends on the asset value so that a password file say is more valuable than a set of public web pages. Where appropriate, these will explicitly identified the security technologies that may be used to protect against different threats to the system.

Risk analysis identifies critical hazards and classifies risks according to their seriousness. It does NOT mean software which will always perform correctly as there may be specification errors. It is only cost-effective in exceptional situations. Fault tolerance is required where there are high availability requirements or where system failure costs are very high.. As many software faults are transitory, this is often unnecessary. Changes are not applied until computation is complete.

Essentially, selection of the actual output depends on the majority vote. They therefore ought to have different failure modes. All versions compute simultaneously and the majority output is selected using a voting system.. It is assumed that there is a low probability that they will make the same mistakes. The algorithms used should but may not be different.

Some parts of an implementation are more difficult than others so all teams tend to make mistakes in the same place. Used for reliability estimation. Have all constants been named?

Should the lower bound of arrays be 0, 1, or something else? Should the upper bound of arrays be equal to the size of the array or Size -1? If character strings are used, is a delimiter explicitly assigned? Control faults For each conditional statement, is the condition correct? Is each loop certain to terminate?

Views Total views. Actions Shares. No notes for slide. Software Engineering - Ch1 1. The costs of software on a PC are often greater than the hardware cost. For systems with a long life, maintenance costs may be several times development costs. Chapter 1 Slide 8 What is software? PC software such as Excel or Word. Chapter 1 Slide 9 What is software engineering?

Chapter 1 Slide 10 What is the difference between software engineering and computer science? Chapter 1 Slide 11 What is the difference between software engineering and system engineering? Software engineering is part of this process concerned with developing the software infrastructure, control, applications and databases in the system.

Chapter 1 Slide 12 What is a software process? Chapter 1 Slide 13 What is a software process model? Chapter 1 Slide 14 What are the costs of software engineering? For custom software, evolution costs often exceed development costs. Chapter 1 Slide 15 Activity cost distribution Chapter 1 Slide 16 Product development costs Chapter 1 Slide 17 What are software engineering methods?

Chapter 1 Slide 19 What are the attributes of good software? This means it must be understandable, usable and compatible with other systems. Chapter 1 Slide 20 What are the key challenges facing software engineering? They should not knowingly accept work which is outwith their competence.

They should be careful to ensure that the intellectual property of employers and clients is protected. Without the aspirations, the details can become legalistic and tedious; without the details, the aspirations can become high sounding but empty; together, the aspirations and the details form a cohesive code. In accordance with their commitment to the health, safety and welfare of the public, software engineers shall adhere to the following Eight Principles: Essential product attributes are maintainability, dependability, efficiency and usability.

Basic activities are software specification, development, validation and evolution. They include suggestions for the process to be followed, the notations to be used, rules governing the system descriptions which are produced and design guidelines.



0コメント

  • 1000 / 1000