100% satisfaction guarantee Immediately available after payment Both online and in PDF No strings attached
logo-home
software engineering principles comp 410 study guide 2024 CA$18.66   Add to cart

Exam (elaborations)

software engineering principles comp 410 study guide 2024

 8 views  0 purchase
  • Course
  • Comp
  • Institution
  • Comp

What is software engineering? a discipline whose aim is the production of fault-free software, delivered on time and within budget, that satisfies the client's needs. The software must be easy to modify when the user's needs change What is classical software engineering life cycle model? 1. requ...

[Show more]

Preview 3 out of 19  pages

  • August 31, 2024
  • 19
  • 2024/2025
  • Exam (elaborations)
  • Questions & answers
  • Comp
  • Comp
avatar-seller
software engineering principles comp
410 study guide 2024
What is software engineering?

a discipline whose aim is the production of fault-free software, delivered on time and within budget, that
satisfies the client's needs. The software must be easy to modify when the user's needs change

What is classical software engineering life cycle model?

1. requirements
2. analysis/specification
3. design phase
4. implementation phase
5. post-delievery phase
6. retirement

what is modern view of maintenance

software undergoes modifications to code and associated documentation due to a problem or the need
for improvement or adaption, irrespective of whether this takes place before or after installation of the
product

Why is there no planning phase, testing phase, and documentation phase during software development?

There is no separate planning phase. Instead, planning activities are carried out all through the life cycle.
However, there are times when planning activities predominate. These include the beginning of the
project (preliminary planning) and directly after the specification document has been signed off on by
the client (software project management plan).

1. What are the advantages of the object-oriented paradigm?

> Objects can easily be reused in other programs, reducing time and cost of production and maintenance
> Once an Object is created, knowledge of its implementation is not necessary for its use
> Objects hide certain parts of themselves from programmers. This prevents programmers from
tampering with values they shouldn't
> Development is made easier since objects in a product closely correspond to counterparts in the real
world, leading to better quality software
> Separation of code makes maintenance quicker and easier, since only the code directly associated with
the new feature is altered. This also reduces regression fault

What are major differences between structured and object-oriented paradigm?

The key difference between Structured Programming and OOP is that the focus of Structured
Programming is to structure the program in to a hierarchy of subprograms while, the focus of OOP is to
break down the programming task in to objects, which encapsulate data and methods.

,In structured paradigm, there is a sharp transition between the analysis phase and the design phase
(what the product is to do vs how to do it)
In OOP, objects enter the life cycle from the very beginning. Thus, it is an integrated approach and the
transition from workflow to workflow is smoother than with the classical paradigm, reducing the
number of faults introduced during development.

What is the requirements phase?

concept is explored and refined, and the client's requirements are elicited

What is analysis/specification phase?

client's requirements are analyzed and presented in specification document

software project management plan describes software development in full detail

Design phase?

Architectural design: product I broken down into modules
Detailed design: each module is designed

Implementation phase?

Unit testing: components undergo coding and testing
Integration: components of the product are combined and tested as a whole
Acceptance testing: by client when developers are satisfied that the product functions correctly
Product is then accepted by the client and installed on their computer

Post delivery phase?

Product is used to perform the tasks for which it was developed

Four Types of Maintenance

1. Perfective Maintenance: changes that the client thinks will improve the effectiveness of the product
(i.e. additional functionality, decreased response time)
2. Adaptive Maintenance: changes made in response to changes in the environment the product
operates in (i.e. new hardware/OS or new government regulations)
3. Corrective Maintenance: removal of residual faults while leaving specifications unchanged
4. Enhancement: changes to specifications and the implementation of those change

Schach uses the term product to mean a non-trivial piece of software in order to:

Schach uses the term product to mean a non-trivial piece of software in order to emphasize that it is the
end point of the process of software production.

Which term is used by Schach to denote an incorrect piece of software?

Schach uses the term fault to denote an incorrect piece of software in order to highlight a software
engineer as one who takes responsibility for his or her actions.

Besides code in machine-readable form software consists of:

, manuals


Software includes all the documentation that is an intrinsic component of every project. Schach

Explain the impact of Miller's law on software production.

Miller's Law states that at any one time, we humans are capable of concentrating on only approximately
seven chunks (units of information)


A typical software artifact has far more than seven chunks of information we are therefore limited on our
capability to handle the complexity of a software artifact.
Stepwise refinement help us handle the Miller's Law restriction on our human capabilities by
concentrating on the seven most important pieces of information at that time and holding off the next
seven aspects until we need to address them.

Describe the strengths of the iterative and incremental life-cycle model.

agile

Multiple opportunities to check software is correct and save money by detecting faults early
Robustness of the software is determined early.

Risks can be mitigated and reported to the client early in the life cycle, when only a small proportion of
the budget has been spent
We always have a working version of the software.

Describe Code-and-Fix Life Cycle Model

The product is implemented without requirements, specifications, or any attempt at design.

Instead, the developers simply throw code together and rework it as many times as necessary to satisfy
the client

Waterfall Life Cycle Model

No phase is complete until the documentation for that phase has been completed and the products of
that phase have been approved by the software quality assurance (SQA) group

Testing is not a separate phase to be performed only after the product has been constructed, nor is it to
be performed only at the end of each phase

Spiral Life-Cycle Model

Waterfall model with each phase preceded by risk analysis
Minimizing risk via the use of prototypes and other means
A proof-of concept prototype is a scale model constructed to test the feasibility of construction

The benefits of buying summaries with Stuvia:

Guaranteed quality through customer reviews

Guaranteed quality through customer reviews

Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.

Quick and easy check-out

Quick and easy check-out

You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.

Focus on what matters

Focus on what matters

Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!

Frequently asked questions

What do I get when I buy this document?

You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.

Satisfaction guarantee: how does it work?

Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.

Who am I buying these notes from?

Stuvia is a marketplace, so you are not buying this document from us, but from seller CleanA. Stuvia facilitates payment to the seller.

Will I be stuck with a subscription?

No, you only buy these notes for CA$18.66. You're not tied to anything after your purchase.

Can Stuvia be trusted?

4.6 stars on Google & Trustpilot (+1000 reviews)

81113 documents were sold in the last 30 days

Founded in 2010, the go-to place to buy study notes for 14 years now

Start selling
CA$18.66
  • (0)
  Add to cart