CSE 3310 TEST 1 QUESTIONS AND ANSWERS
What is software? - Answer -Computer programs + configuration data and files + user
and system documentation
What is software engineering? - Answer -An engineering discipline which is concerned
with all aspects of software production
What is a software process? - Answer -A set of activities and associated results which
produce a software product
What are the Four fundamental process activities? - Answer -1. Software Specification
2. Software Development
3. Software Validation (i.e. It does what it intended to do based on the software
specifications)
4. Software Evolution (i.e. Change/enhancement/maintenance)
What is a software process model? - Answer -A representation of a software process
from a specific perspective
What are some attributes of good software? - Answer -1. Maintainability
2. Dependability (Reliability, security, safety)
3. Efficiency (memory, CPU time)
4. Usability (Good UI and Documentation)
What are some ethical responsibilities of writing software? - Answer -1. Confidentiality
2. Competence
3. Intellectual property rights
4. Computer misuse
What are the advantages and challenges of the Waterfall model? - Answer -
Advantages: Simple to follow, relatively simple to track progress, good structural design
Challenges: phases overlap, hard to modify, requires complete requirements from the
beginning
What are the two types of Evolutionary development? - Answer -Exploratory
Development: Well defined requirements, add new features upon request from
customer
Throw-Away Prototyping: Understand customer's requirements, use prototyping to
evolve requirements
What are the advantages and challenges of Evolutionary development? - Answer -
Advantages: happier customers, flexibility in requirements, visual prototypes
Challenges: hard to document, poorly structured, special tools may not be compatible,
not cost effective to produce documents
, What is Formal systems development? - Answer -A software development model
similar to Waterfall model.
Advantages: More safe, expressed in mathematical notation
Challenges: Requires specialized expertise
What are the advantages and challenges of Reuse-oriented development? - Answer -
Advantages: Reduced cost and risk, fast delivery
Challenges: Requires large component base, control is lost as new version of reusable
components are not under control of the organization using the component, potential
issues in backward/forward compatibility
What are the advantages and challenges of Incremental development? - Answer -
Advantages: Products delivered incrementally hence faster, lower risk of overall project
failure, requirements are implemented based on priority
Disadvantages: Relationship between different increments may be cumbersome or non-
cohesive, size of each increment and the number of increments may cause challenges
What are the advantages and challenges of spiral development? - Answer -
Advantages: Explicit consideration of risks, more detailed processes for each
development phase
Disadvantages: Cost, difficult to implement, time consuming
What are some software specification activities? - Answer -1. Feasibility study -
can/should it be done?
2. Requirements analysis - Gather data on what you need
3. Requirements specification - Specify what you need on paper
4. Requirement validation - Can the requirements be met?
What are some software design and implementation activities? - Answer -1.
Architectural design.
2. Abstract specification.
3. Interface design.
4. Component design.
5. Data structure design.
6. Algorithm design.
7. Implementation environment selection.
What are some software validation activities? - Answer -1. Unit testing
2. Module testing
3. Sub-system testing
4. System testing
5. Acceptance testing
What is software? - Answer -Computer programs + configuration data and files + user
and system documentation
What is software engineering? - Answer -An engineering discipline which is concerned
with all aspects of software production
What is a software process? - Answer -A set of activities and associated results which
produce a software product
What are the Four fundamental process activities? - Answer -1. Software Specification
2. Software Development
3. Software Validation (i.e. It does what it intended to do based on the software
specifications)
4. Software Evolution (i.e. Change/enhancement/maintenance)
What is a software process model? - Answer -A representation of a software process
from a specific perspective
What are some attributes of good software? - Answer -1. Maintainability
2. Dependability (Reliability, security, safety)
3. Efficiency (memory, CPU time)
4. Usability (Good UI and Documentation)
What are some ethical responsibilities of writing software? - Answer -1. Confidentiality
2. Competence
3. Intellectual property rights
4. Computer misuse
What are the advantages and challenges of the Waterfall model? - Answer -
Advantages: Simple to follow, relatively simple to track progress, good structural design
Challenges: phases overlap, hard to modify, requires complete requirements from the
beginning
What are the two types of Evolutionary development? - Answer -Exploratory
Development: Well defined requirements, add new features upon request from
customer
Throw-Away Prototyping: Understand customer's requirements, use prototyping to
evolve requirements
What are the advantages and challenges of Evolutionary development? - Answer -
Advantages: happier customers, flexibility in requirements, visual prototypes
Challenges: hard to document, poorly structured, special tools may not be compatible,
not cost effective to produce documents
, What is Formal systems development? - Answer -A software development model
similar to Waterfall model.
Advantages: More safe, expressed in mathematical notation
Challenges: Requires specialized expertise
What are the advantages and challenges of Reuse-oriented development? - Answer -
Advantages: Reduced cost and risk, fast delivery
Challenges: Requires large component base, control is lost as new version of reusable
components are not under control of the organization using the component, potential
issues in backward/forward compatibility
What are the advantages and challenges of Incremental development? - Answer -
Advantages: Products delivered incrementally hence faster, lower risk of overall project
failure, requirements are implemented based on priority
Disadvantages: Relationship between different increments may be cumbersome or non-
cohesive, size of each increment and the number of increments may cause challenges
What are the advantages and challenges of spiral development? - Answer -
Advantages: Explicit consideration of risks, more detailed processes for each
development phase
Disadvantages: Cost, difficult to implement, time consuming
What are some software specification activities? - Answer -1. Feasibility study -
can/should it be done?
2. Requirements analysis - Gather data on what you need
3. Requirements specification - Specify what you need on paper
4. Requirement validation - Can the requirements be met?
What are some software design and implementation activities? - Answer -1.
Architectural design.
2. Abstract specification.
3. Interface design.
4. Component design.
5. Data structure design.
6. Algorithm design.
7. Implementation environment selection.
What are some software validation activities? - Answer -1. Unit testing
2. Module testing
3. Sub-system testing
4. System testing
5. Acceptance testing