chapter 1
What is Computer-Aided Software Engineering (CASE)?
Are programs that are used to support software engineering process activities.
What are the intellectual property rights issues of professional responsibility?
They should be careful to ensure that the intellectual property of employers and clients is protected and be aware of local laws.
When was software engineering first proposed?
1968 @ a conference
How can a new software be developed?
1.) Developing new programs 2.) Configuring generic software systems 3.) Reusing existing software
What are the two reasons Software engineering is important?
1.) Individuals and society rely on advanced software systems. We need to be able to produce reliable and trustworthy systems economically and quickly. 2.)It is 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.
What are the eight principles the software engineers shall adhere?
1.) Public 2.) Client and employer 3.) Product 4.) Judgment 5.) Management 6.) Profession 7.) Colleagues 8) Self
What are the different types of application?
1.) Stand-alone applications 2.) Interactive transaction-based applications 3.) Embedded control systems 4.) Batch processing systems 5.) Entertainment systems 6.) Systems for modeling and simulation 7.) Data collection systems 8.) Systems of systems
What are the first 5 of the Ten Commandments of Computer Ethics?
1.) Thou shall not use a computer to harm other people. 2.) Thou shall not interfere with other people's computer work. 3.) Thou shall not snoop around in other people's computer files 4.) Thou shall not use a computer to steal. 5.) Thou shall not use a computer to bear false witness.
What are some generic process models?
1.) Waterfall 2.) Iterative development 3.) Component-based software engineering.
What is the difference between software engineering and computer science?
1.)Computer Science focuses on theory and fundamentals. 2.)software engineering is concerned with the practicalities of developing and delivering useful software.
What are the issues of professional responsibility in Software Engineering?
1.)Confidentiality 2.)Competence 3.)Intellectual property rights 4.)Computer misuse
What are three general issues that affect many different types of software?
1.)Heterogeneity Increasingly 2.)Business and social change 3.) Security and trust
What are the activities in all software processes?
1.)Software specification: What the system should do and its development constraints. 2.)software development: where the software is designed and programmed. 3.)software validation: checking that the software is what the customer wants 4.)software evolution: changing the software in response to changing demands.
What are the four fundamental activities that are common to all software processes?
1.)Specification: what the system should do and its development constraints 2.)development: production of the software system 3.) validation: checking that the software is what the customer wants 4.) evolution: changing the software in response to changing demands
What is the difference between software engineering and system engineering?
1.)System engineering is concerned with all aspects of computer-based systems development including hardware, software, and process engineering. 2.)Software engineering is part of the engineering process concerned with developing the software infrastructure, control, applications and database in the system.
What are some examples of process perspectives?
1.)Workflow: A sequence of activities. 2.) Data-flow: information flow. 3.) Role/action: who does what
What are the last 5 of the Ten Commandments of Computer Ethics?
6.) Thou shall not copy or use proprietary software for which you have not paid. 7.) Thou shall not use other people's computer resources without authorization or proper compensation. 8.) Thou shall not appropriate other people's intellectual output. 9.) Thou shall think about the social consequences of the program you are writing or the system you are designing. 10.) Thou shall always use a computer in ways that insure consideration and respect for your fellow human.
Software is not just the programs themselves but also what?
All associated documentation and configuration data that is required to make these programs operate correctly.
Why is "Security and trust" one of the general issue that may affect many different types of software?
As software is intertwined with all aspects of our lives, it is essential that we can trust that software same applies to a web page. We have to make sure that malicious users cannot attack our software and information security is maintained.
What is ACM/IEE stand for?
Association of Computing Machinery and Institute of Electrical and Electronic Engineers
Why is "Business and social change" one of the general issue that may affect many different types of software?
Business and society is rapidly changing as economies develop and new technologies become available. Need to be able to change their existing software and to rapidly develop new software to deliver value to its customers is reduced.
What is software?
Computer Programs and Associated Documentation such as requirements, design models and user manuals. Software products may be developed for a particular customer or may be developed for a general market.
What is the the acronym of CASE tools?
Computer-Aided Software Engineering
What are the key challenges facing software engineering?
Coping with increasing diversity, demands of reduced delivery times, and developing trustworthy software.
What does the cost of software engineering depends on?
Costs vary depending on the type of system being developed and the requirements of system attributes such as performance and system reliability.
What are the best software engineering techniques and methods?
Different techniques are appropriate for different types of system. -system models -notations and rules -Design advice and process guidance
What are the competence issues of professional responsibility?
Engineers should no knowingly accept work which is outside the scope of their competence.
What are the confidentiality issues of professional responsibility?
Engineers should normally respect the confidentiality of their employers or clients if agreement was signed or not.
What are the attributes of good software?
Good software should deliver the required functionality and performance to the user and should be maintainable, dependable, efficient, and, Acceptability.
True/False The cost of hardware is often greater than the cost of software on a PC
False. The costs of a software on a PC often greater than the hardware cost.
True/False It cost more to develop than to maintain a software.
False. For systems with a long life, maintenance cost may be several times more than development costs.
What are the difference between the two software products?
Generic Prodcuts: Stand-alone systems that are produced by a development organization and sold on the open market to any customer who is able to buy them. Customized(bespoke)Products:These are systems that are commissioned by a particular customer.
What are the two kinds of software products?
Generic Products Customized(bespoke) Products
What do the CASE tools include for support for programs?
Include design editors, data dictionaries, compilers, debuggers, system building tools, etc.
Software engineering is intended to support what?
Is intended to support professional software development rather than individual programming.
What are the costs of software engineering?
Roughly 60% of software costs are development costs, 40% are testing costs. For custom software, evolution costs often exceed development costs.
What are the computer misuse issues of professional responsibility?
Should not use their technical skills to misuse other people's computers.
In software engineering what is the systematic approach called and define?
Software Process Is a sequence of activities that leads to the production of a software product.
What is software engineering?
Software engineering is an engineering discipline that is concerned with all aspects of software production.
Define managment principle of code of ethics.
Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance.
Define public principle of code of ethics.
Software engineers shall act consistently with the public interest.
Define Client and employer principle of code of ethics.
Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest.
Define profession principle of code of ethics.
Software engineers shall advance the integrity and reputation of the profession consistent with the public interest.
What is the preamble for code of ethics?
Software engineers shall commit themselves to making the analysis, specification, design, development, testing and maintenance of software a beneficial and respected profession
Define product principle of code of ethics.
Software engineers shall ensure that their products and related modifications meet the highest professional standards possible.
Define judgment principle of code of ethics.
Software engineers shall maintain integrity and independence in their professional judgment.
What is the ACM/IEE Code of ethics
The professional societies in the US have cooperated to produce a code of ethical practice.
Why is professionally developed software system more than a single program?
The system usually consist of a number of separate programs and configuration files that are used to set up these programs.
What is the Upper-CASE?
Tools that automate or support the 'upper' or earliest phases of system development
What is the Lower-CASE?
Tools that support later activities such as programming, debugging and testing.
True/False Distribution of costs depends on the development model that is used.
True.
Why is "Heterogeneity" one of the general issue that may affect many different types of software?
You often have to integrate new software with older legacy systems written in different programming languages. The challenge here is to develop techniques for building dependable software that is flexible enough
What are the two factors that causes these so-called software failures?
increasing demands:better techniques means systems need to be built faster, larger and more complex systems. Low expectations: they do not use software engineering methods and techniques. software is often more expensive and less reliable than it should be.
Define colleagues principle of code of ethics.
software engineers shall be fair to and supportive of their colleague.
Define self principle of code of ethics.
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.