100% tevredenheidsgarantie Direct beschikbaar na betaling Zowel online als in PDF Je zit nergens aan vast
logo-home
Summary Computer science: an overview - J. Glenn Brookshear €4,49   In winkelwagen

Samenvatting

Summary Computer science: an overview - J. Glenn Brookshear

1 beoordeling
 631 keer bekeken  4 keer verkocht

Een complete samenvatting van het boek van de hoofdstukken benodigd voor het vak Intelligente Data-analyse

Voorbeeld 3 van de 17  pagina's

  • 17 januari 2015
  • 17
  • 2014/2015
  • Samenvatting
Alle documenten voor dit vak (1)

1  beoordeling

review-writer-avatar

Door: jented • 6 jaar geleden

avatar-seller
VeroniekVeer
Computer science: an overview
Hoofdstuk 7: software engineering
Software engineering is the branch of computer science that seeks principles to
guide the development of large, complex software systems.
7.1 The software engineering principle
Een verschil tussen software engineering en engineering is dat engineering kant-
en-klare stukken heeft, zoals een automotor. Software engineering heeft dit op
het begin niet gehad, alles werd vanaf het begin gemaakt. Het tweede verschil is
dat engineering gebruik kan maken van kwantitatieve meettechnieken, software
engineering niet.
Practitioners work toward developing techniques for immediate application and
theoreticians search for underlying principles and theories on which more stable
techniques can someday be constructed.
Computer-aided software engineering (CASE) is the application of computer
technology to the software development process. CASE tools are computerized
systems.
Integrated development environments (IDEs) combine tools for developing
software.
7.2 The software Life cycle
The different phases:
1. Requirements Analysis:
- The goal is to specify what services the proposed system will provide, to
identify any conditions on those services and to define how the outside
world will interact with the system.
- Involves significant input from the stakeholders.
- COTS = commercial off-the-shelf
- In the software requirements specification are the requirements recorded
2. Design:
- Involves creating a plan for the construction of the proposed system.
3. Implementation:
- Involves the actual writing of programs, creation of data fields, and
development of databases.
- A software analyst is involved with the entire development process and a
programmer is primarily involved with the implementation step.
4. Testing
7.3 Software engineering Methodologies
- The waterfall model:
The different phases requirements, analysis, design, implementation and
testing are performed in a strictly sequential manner
- The incremental model:
The desired software system is constructed in increments, the first being a
simplified version of the final product. After this is tested, more features
are added.
- The iterative model:
Hetzelfde als het incrementele model, maar dan wordt in het begin het
gehele ontwerp al gemaakt en telkens geperfectioneerd.

1

, Een voorbeeld is the rational unified process (RUP), which is a software
development paradigm that redefines steps in de development phase of
the software life cycle and provides guidelines for performing those steps.
Dit is later niet-commercieel gemaakt onder de naam unified process.
- Prototyping
Incomplete versions of the proposed system are built and evaluated.
Evolutionary prototyping is gebaseerd op het incrementele model en
throwaway prototyping is gebaseerd op het iteratieve model.
- Open source development
A single author writes an initial version of the software and posts the
source code and its documentation on the internet. From there it can be
downloaded and used by others without charge. Because these other users
have the source code and documentation, they are able to modify or
enhance the software.
- Agile methods
which proposes early and quick implementation on an incremental basis,
responsiveness to changing requirements and a reduced emphasis on
rigorous requirements analysis and design.
An example is extreme programming (XP), in which software is developed
by a team of less than a dozen individuals working in a communal work
space where they freely share ideas and assist each other in the
development project.
7.4 Modularity
Modularity is the division of software in manageable units, called modules.
In de imperatieve paradigm worden zijn de modules procedures, in de object-
georienteerde paradigm zijn de modules objecten.
A structure chart identifies the procedures and indicates the dependencies
among the procedures.
A class is a template that defines the procedures (called methods) and attributes
(called instance variables)
Coupling is the linkage between modules. Control coupling occurs when a module
passes control of execution to another, as in a procedure call. Data coupling is
sharing of data between modules. Data can be explicitly passed as parameters or
data can be shared among modules implicitly in the form of global data, which
are data items that are automatically available to all modules throughout the
system.
Cohesion refers to the degree of relatedness of a module’s internal parts. Logical
cohesion is induced within a module by the fact that its internal elements
perform activities logically similar to nature. Functional cohesion is stronger and
means that all the parts of the module are focused on the performance of a
single activity.
Information hiding refers to the restriction of information to a specific portion of a
software system.
A component is a reusable component of the software. In component
archtitecture the traditional role of the programmer is replaced by a component
assembler.
7.5 Tools of the trade
There are different tools for identifying procedures, such as a data-flow diagram
or a data dictionary.
Unified modeling language is a collection of tools, such as the use case diagram,

2

, in which interactions are use cases and uses of the system are actors.
The class diagram is a national system for representing the structure of classes
and relationships between classes (called associations)
Interaction diagrams is a sort of UML to express dynamic features. One type is a
sequence diagram.
A CRC (class-responsibility-collaboration) card is a card on which the description
of the object is written, they are used for simulations (structured walkthroughs).
A design pattern is predeveloped model for solving a recurring problem in
software design.
7.6 Quality assurance
Softwate quality assurance (SQA) groups are charged with overseeing and
enforcing the quality control systems adopted by the organization. Some quality
oriented themes are documentation and previews.
Pareto principle: most errors are clustered.
Basis path testing: developing a set of test data that insures that each instruction
is executed at least once.
Glass-box testing: the software tester is aware of the interior structure of the
software and uses this knowledge when designing the test. (bv. Pareto principle
and basis path testing)
Boundary value analysis consists of identifying ranges of data, called equivalence
classes, over which the software should perform in a similar manner and then
testing the software on data close to the edge of those ranges.
Beta testing is giving a preliminarily version of the software to a segment of the
audience with the goal of learning how the software performs in real life
situations. (called alpha testing if the developers test it)
7.7 Documentation
There are three categories of documentation:
- User documentation: is to explain the features of the software and is therefore
expressed in the terminology of the application.
- System documentation: is to describe the software’s internal composition so
that the software can be maintained later in the life cycle.
- Technical documentation: is to describe how a software system should be
installed and serviced.
7.8 The human-machine interface
Ergonomics deals with designing systems that harmonize with the physical
abilities of humans, cognetics with the mental abilities of humans.
The GOMS model, is representative of the search for metrics in the field of
human-machine interface design. The model’s underlying methodology is to
analyze tasks in terms of user goals, operators, methods and selection rules.
7.9 Software ownership and liability
Legal efforts to provide ownership fall under the category of intellectual property
law, much of which is based on the well-established principles of copyright and
patent law. The rights of the developer are formally expressed in legal terms in a
software license. A software license is a legal agreement between the owner and
user of a software product that grans the user certain permissions to use the
product without transferring ownership rights to the intellectual property. To
protect themselves against liability, software developers often include disclaimers
in the software licenses that state the limitations of their liability.
Hoofdstuk 9: Database systems
A database is a system that converts a large collection of data into an abstract

3

Voordelen van het kopen van samenvattingen bij Stuvia op een rij:

Verzekerd van kwaliteit door reviews

Verzekerd van kwaliteit door reviews

Stuvia-klanten hebben meer dan 700.000 samenvattingen beoordeeld. Zo weet je zeker dat je de beste documenten koopt!

Snel en makkelijk kopen

Snel en makkelijk kopen

Je betaalt supersnel en eenmalig met iDeal, creditcard of Stuvia-tegoed voor de samenvatting. Zonder lidmaatschap.

Focus op de essentie

Focus op de essentie

Samenvattingen worden geschreven voor en door anderen. Daarom zijn de samenvattingen altijd betrouwbaar en actueel. Zo kom je snel tot de kern!

Veelgestelde vragen

Wat krijg ik als ik dit document koop?

Je krijgt een PDF, die direct beschikbaar is na je aankoop. Het gekochte document is altijd, overal en oneindig toegankelijk via je profiel.

Tevredenheidsgarantie: hoe werkt dat?

Onze tevredenheidsgarantie zorgt ervoor dat je altijd een studiedocument vindt dat goed bij je past. Je vult een formulier in en onze klantenservice regelt de rest.

Van wie koop ik deze samenvatting?

Stuvia is een marktplaats, je koop dit document dus niet van ons, maar van verkoper VeroniekVeer. Stuvia faciliteert de betaling aan de verkoper.

Zit ik meteen vast aan een abonnement?

Nee, je koopt alleen deze samenvatting voor €4,49. Je zit daarna nergens aan vast.

Is Stuvia te vertrouwen?

4,6 sterren op Google & Trustpilot (+1000 reviews)

Afgelopen 30 dagen zijn er 80630 samenvattingen verkocht

Opgericht in 2010, al 14 jaar dé plek om samenvattingen te kopen

Start met verkopen
€4,49  4x  verkocht
  • (1)
  Kopen