Chapter 1 terms

Lakukan tugas rumah & ujian kamu dengan baik sekarang menggunakan Quizwiz!

the dominant approach for constructing web-based systems. When building these systems, you think about how you can assemble them from pre-existing software components and systems.

Software reuse

independent functionality and which may be used by other services in the system.

Utility services that provide basic application

Web-based systems are complex distributed systems but the fundamental principles of software engineering discussed previously are as applicable to them as they are to any other types of system.

web based software engineering

such as email, conferencing, photo sharing etc. and access to specific educational content such as scientific films or historical resources. Configuration services that are used

Application services that provide specific applications

The Code contains eight Principles related to the behaviour of and decisions made by professional software engineers, including practitioners, educators, managers, supervisors and policy makers, as well as trainees and students of the profession.

ACM/IEEE

These are business systems that are designed to process data in large batches. They process large numbers of individual inputs to create corresponding outputs.

Batch processing systems

Engineers should not misrepresent their level of competence. They should not knowingly accept work which is outwith their competence.

Competence

Software engineers should not use their technical skills to misuse other people's computers. Computer misuse ranges from relatively trivial (game playing on an employer's machine, say) to extremely serious (dissemination of viruses).

Computer misuse

Engineers should normally respect the confidentiality of their employers or clients irrespective of whether or not a formal confidentiality agreement has been signed.

Confidentiality

that are used to adapt the environment with a specific set of application services and do define how services are shared between students, teachers and their parents.

Configuration services

Software that is commissioned by a specific customer to meet their own needs. Examples - embedded control systems, air traffic control software, traffic monitoring systems. The specification of what the software should do is owned by the customer for the software and they make decisions on software changes that are required.

Customized products

These are systems that collect data from their environment using a set of sensors and send that data to other systems for processing.

Data collection systems

These are software control systems that control and manage hardware devices. Numerically, there are probably more embedded systems than any other type of system.

Embedded control systems

Using appropriate theories and methods to solve problems bearing in mind organizational and financial constraints.

Engineering discipline

These are systems that are primarily for personal use and which are intended to entertain the user.

Entertainment systems

Maintainability, Dependability and Security, Efficiency, Adaptability

Essential Attributes of good software

Heterogeneity Business and social change Security and trust scale

General issues that affect software

Stand-alone systems that are marketed and sold to any customer who wishes to buy them. Examples - PC software such as graphics programs, project management tools; CAD software; software for specific markets such as appointments systems for dentists. The specification of what the software should do is owned by the software developer and decisions on software change are made by the developer.

Generic Products

Web-based systems should be developed and delivered incrementally. It is now generally recognized that it is impractical to specify all the requirements for such systems in advance.

Incremental and agile development

are services which are simply accessed through a browser interface and which operate independently of other services. Information can only be shared with other services through explicit user actions such as copy and paste; re-authentication may be required for each independent service.

Independent services

are services which offer an API (application programming interface) and which can be accessed by other services through that API. Direct service-to-service communication is therefore possible.

Integrated services

Engineers should be aware of local laws governing the use of intellectual property such as patents, copyright, etc. They should be careful to ensure that the intellectual property of employers and clients is protected.

Intellectual property rights

Applications that execute on a remote computer and are accessed by users from their own PCs or terminals. These include web applications such as e-commerce applications.

Interactive transaction-based applications

Interface development technologies such as AJAX and HTML5 have emerged that support the creation of rich interfaces within a web browser.

Rich interfaces

Software may be implemented using service-oriented software engineering, where the software components are stand-alone web services.

Service-oriented systems

where the software is modified to reflect changing customer and market requirements.

Software evolution

where the software is designed and programmed.

Software development

an engineering discipline that is concerned with all aspects of software production

Software engineering

where customers and engineers define the software that is to be produced and the constraints on its operation.

Software specification

where the software is checked to ensure that it is what the customer requires.

Software validation

These are application systems that run on a local computer, such as a PC. They include all necessary functionality and do not need to be connected to a network.

Stand-alone applications

These are systems that are developed by scientists and engineers to model physical processes or situations, which include many, separate, interacting objects.

Systems for modeling and simulation

These are systems that are composed of a number of other software systems.

Systems of systems

While all software projects have to be professionally managed and developed, different techniques are appropriate for different types of system. For example, games should always be developed using a series of prototypes whereas safety critical control systems require a complete and analyzable specification to be developed. You can't, therefore, say that one method is better than another.

What are the best software engineering techniques and methods?

Computer programs and associated documentation. Software products may be developed for a particular customer or may be developed for a general market.

What is software?

Good software should deliver the required functionality and performance to the user and should be maintainable, dependable and usable.

attributes of good software

Roughly 60% of software costs are development costs, 40% are testing costs. For custom software, evolution costs often exceed development costs.

costs of software engineering?

Computer science focuses on theory and fundamentals; software engineering is concerned with the practicalities of developing and delivering useful software.

difference between software engineering and computer science

System engineering is concerned with all aspects of computer-based systems development including hardware, software and process engineering. Software engineering is part of this more general process.

difference between software engineering and system engineering

The web has led to the availability of software services and the possibility of developing highly distributed service-based systems. Web-based systems development has led to important advances in programming languages and software reuse.

differences has the web made to software engineering

a framework in which a set of general-purpose and specially designed tools for learning may be embedded plus a set of applications that are geared to the needs of the learners using the system.

digital learning environment

Software specification, software development, software validation and software evolution.

fundamental software engineering activities

The Web is now a platform for running application and organizations are increasingly developing web-based systems rather than local systems.

internet software engineering

Coping with increasing diversity, demands for reduced delivery times and developing trustworthy software.

key challenges facing software engineering

The system with all system components considered to be a replaceable service. This allows the system to be updated incrementally as new services become available. It also makes it possible to rapidly configure the system to create versions of the environment for different groups such as very young children who cannot read, senior students, etc.

service-oriented system


Set pelajaran terkait

Bonding, Lewis Structures, Geometry and Intermolecular Forces

View Set

Chapter 7: Membrane Structure and Function

View Set

Endocrine/DM/Thyroid/Gastro-Hepatic/GU/OBGYN/Family Planning/Peds

View Set