Week 1 Reina assigned
CLIENT AND EMPLOYER
- Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest.
Interactive transaction-based application
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.
False: may janitor basahin nyo mabuti
The ACM/IEEE Code of Ethics 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 janitors, trainees and students of the profession. (T or F)
False: The fundamental notions of software engineering are universally applicable to all types of system development.
The fundamental notions of software engineering are not universally applicable to all types of system development. (T or F)
Entertainment systems
These are systems that are primarily for personal use and which are intended to entertain the user.
Software specification
where customers and engineers define the software that is to be produced and the constraints on its operation.
Security and trust
As software is intertwined with all aspects of our lives, it is essential that we can trust that software.
Business and social change
Business and society are changing incredibly quickly as emerging economies develop and new technologies become available. They need to be able to change their existing software and to rapidly develop new software.
Cloud computing
s an approach to the provision of computer services where applications run remotely on the 'cloud'.
software
Computer programs and associated documentation
Intellectual property rights
Engineers should be aware of local laws governing the use of intellectual property such as patents, copyright, etc.
Confidentiality
Engineers should normally respect the privacy of their employers or clients irrespective of whether or not a formal ___ agreement has been signed.
Competence
Engineers should not misrepresent their level of competence. They should not knowingly accept work which is out with their competence
maintainability, dependability and security, efficiency and acceptability.
Essential software product attributes?? Enumerate
Disagreement in principle with the policies of senior management. ✧ Your employer acts in an unethical way and releases a safety-critical system without finishing the testing of the system. ✧ Participation in the development of military weapons systems or nuclear systems.
Ethical dilemmas Give me
Heterogeneity
Increasingly, systems are required to operate as distributed systems across networks that include different types of computer and mobile devices.
Intellectual property rights Computer misuse Confidentiality Competence
Issues of professional responsibility give all
False: It is usually cheaper, in the long run, to use software engineering methods and techniques for software systems rather than just write the programs as if it was a personal programming project
It is usually more expensive, in the long run, to use software engineering methods and techniques for software systems rather than just write the programs as if it was a personal programming project. (T or F)
False: Some fundamental principles apply to all types of software system, irrespective of the development techniques used:
No fundamental principles apply to all types of software system, irrespective of the development techniques used: (T or F)
False: Software engineers have responsibilities to the engineering profession and society. They should not simply be concerned with technical issues.
Software engineers should simply be concerned with technical issues. (T or F)
True
User interfaces are constrained by the capabilities of web browsers. ( T or F)
Dependability and security
Software dependability includes a range of characteristics including reliability, security and safety. Dependable software should not cause physical or economic damage in the event of system failure. Malicious users should not be able to access or damage the system.
True
Software engineering is concerned with theories, methods and tools for professional software development. (T or F)
MANAGEMENT
Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance.
PUBLIC
Software engineers shall act consistently with the public interest
PROFESSION
Software engineers shall advance the integrity and reputation of the profession consistent with the public interest.
COLLEAGUES
Software engineers shall be fair to and supportive of their colleagues.
PRODUCT
Software engineers shall ensure that their products and related modifications meet the highest professional standards possible.
JUDGMENT
Software engineers shall maintain integrity and independence in their professional judgment.
SELF
Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.
Computer misuse
Software engineers should not use their technical skills to misuse other people's computers
Truthy
Software reuse is the dominant approach for constructing web-based systems(T or F)
Maintainability
Software should be written in such a way so that it can evolve to meet the changing needs of customers. This is a critical attribute because software change is an inevitable requirement of a changing business environment.
Efficiency
Software should not make wasteful use of system resources such as memory and processor cycles.
Customized products
Software that is commissioned by a specific customer to meet their own needs.
Generic products
Stand-alone systems that are marketed and sold to any customer who wishes to buy them.
Customized products
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
Generic products
The specification of what the software should do is owned by the software developer and decisions on software change are made by the developer
False: There are many different types of software system and there is no universal set of software techniques that is applicable to all of these
There are many different types of software system and there is a universal set of software techniques that is applicable to all of these. (T or F)
Stand-alone applications
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.
Batch processing systems
These are business systems that are designed to process data in large batches. They process large numbers of individual inputs to create corresponding outputs.
Embedded control 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.
Systems of systems
These are systems that are composed of a number of other software systems.
Systems for modeling and simulation
These are systems that are developed by scientists and engineers to model physical processes or situations, which include many, separate, interacting objects
Acceptability
This means that it must be understandable, usable and compatible with other systems that they use.
True
To ensure, as much as possible, that their efforts will be used for good, software engineers must commit themselves to making software engineering a beneficial and respected profession. (T or F)
False: Web-based systems should be developed and delivered incrementally.
Web-based systems should be developed and delivered immediately. (T or F)
- Maintainable - Dependable - Usable
What are the attributes of good software?
engineering activities? Software specification, software development, software validation and software evolution
What are the fundamental software engineering activities? (SDVE)
Computer science focuses on theory and fundamentals; software engineering is concerned with the practicalities of developing and delivering useful software.
What is the 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.
What is the difference between software engineering and system engineering?
False: Where appropriate, you should reuse software that has already been developed rather than write new software
Where appropriate, you should not reuse software that has already been developed rather, write a new software (T or F)
Web services
allow application functionality to be accessed over the web.
False: Software costs often dominate computer system costs.
computer system costs often dominate software costs. (T or F)
Ethical behaviour
is more than simply upholding the law but involves following a set of principles that are morally correct.
Web
is now a platform for running application and organizations are increasingly developing web-based systems rather than local systems
Software Engineering
is the science and art of building significant software systems that are: 1) on time 2) on budget 3) with acceptable performance 4) with correct operation.
Software validation
where the software is checked to ensure that it is what the customer requires
Software development,
where the software is designed and programmed.
Software evolution
where the software is modified to reflect changing customer and market requirements.
Data collection systems
▪ These are systems that collect data from their environment using a set of sensors and send that data to other systems for processing.