software engineering - Answers The application of a systematic, disciplined, quantifiable
approach to the development, operation, and maintenance of software
software development practice - Answers a requirement employed to prescribe a disciplined,
uniform approach to the software development process
computer science - Answers concerned with getting the computer to do what you want it to do,
as efficiently as possible
software development process - Answers a process by which user needs are translated into a
specific product, comprised of specific software development practices
a simple set of steps - Answers 1. understand the problem
2. perform some design
3. code/implement
4. verify/test the program
program requirements - Answers Statements that define and qualify what the program needs to
do
design constraints - Answers Statements that constrain the ways in which the software can be
designed and implemented
functional requirements - Answers What a program needs to do
nonfunctional requirements - Answers The manner in which the functional requirements need to
be achieved
examples of functional requirements - Answers 1. input formats
2. sorting
3. special cases, boundaries, and error conditions
examples of nonfunctional requirements - Answers 1. performance requirements
2. real-time requirements
3. modifiability requirements
examples of design constraints - Answers 1. user interface
2. typical and maximum input sizes
, 3. platforms
4. schedule requirements
examples of design decisions - Answers 1. programming language
2. algorithms
One way to simplify a complex problem is to diminish the relationships between functions,
number of functionalities, and the amount of interactions between them. This technique is
promptly called decomposition. There is also another technique similar to this called
modularization. - Answers Describe a way to simplify a complex problem.
Large systems often require software engineers to consider many categories of development.
This includes architecture and design decomposition, choices of languages and middleware,
and the process and methodologies to be used for development. - Answers List two technical
concerns in developing large systems.
Using the SUM formula below, the answer for this question is 190 communication paths.
total number of communication channels = n * (n - 1) / 2 - Answers What is the maximum
number of communication paths for a team of twenty people?
Many software engineering students have asked if there are natural laws or principles in
software engineering, similar to the laws of motion or laws of thermodynamics. In hindsight,
software engineering does not have a set of laws. However, there are several sets of proposed
principles of software engineering. Since software engineering is still developing and setting
new grounds, the existing principles will continue to be modified as well as new ones being
appended. Principles of software engineering refer to the rules and assumptions in software
engineering derived from extensive observations. (pg. 49-50) - Answers What is meant by the
term principles of software engineering?
Civil or Electrical engineers have a designation of Professional Engineer (PE) in the United
States. In other countries, traditional engineers are also certified. Software engineers do not yet
have such a professional certification. In 1998, the Texas Board of Professional Engineers
adopted software engineering as a district discipline under which an engineering license may be
issued. This process is anticipated to take time and effort before actual licenses will be granted
to software engineers. (pg. 47) - Answers Can a software engineer become a certified
Professional Engineer (PE)? Explain.
A boolean measurement where the requirement is either satisfied or not satisfied. Some
requirements that qualify as functional requirements would include input formats, sorting, and
error conditions. In the case of input formats, we need to define what separates the lines on the