ArticleslgStudy

computer science

Outline of software engineering

Outline of software engineering is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Outline of software engineering rather than just read about it. In short: The following outline is provided as an overview of and topical guide to software engineering: Software engineering – application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is the application of engineering to software. The ACM Computing Classification system is a poly-hierarchical ontology that organizes the topics of the field and can be use…

Key takeaways

  • Outline of software engineering belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Outline of software engineering to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Outline of software engineering from memory before moving on to harder problems.

Reference excerpt

The following outline is provided as an overview of and topical guide to software engineering: Software engineering – application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is the application of engineering to software. The ACM Computing Classification system is a poly-hierarchical ontology that organizes the topics of the field and can be used in semantic web applications and as a de facto standard classification system for the field. The major section "Software and its Engineering" provides an outline and ontology for software engineering.

Software applications Software engineers build software (applications, operating systems, system software) that people use. Applications influence software engineering by pressuring developers to solve problems in new ways. For example, consumer software emphasizes low cost, medical software emphasizes high quality, and Internet commerce software emphasizes rapid development.

Business software Accounting software Analytics Data mining closely related to database Decision support systems Airline reservations Banking Automated teller machines Cheque processing Credit cards Commerce Trade Auctions (e.g. eBay) Reverse auctions (procurement) Bar code scanners Compilers Parsers Compiler optimization Interpreters Linkers Loaders Communication E-mail Instant messengers VOIP Calendars — scheduling and coordinating Contact managers Computer graphics Animation Special effects for video and film Editing Post-processing Cryptography Databases, support almost every field Embedded systems Both software engineers and traditional engineers write software control systems for embedded products. Automotive software Avionics software Heating ventilating and air conditioning (HVAC) software Medical device software Telephony Telemetry Engineering All traditional engineering branches use software extensively. Engineers use spreadsheets, more than they ever used calculators. Engineers use custom software tools to design, analyze, and simulate their own projects, like bridges and power lines. These projects resemble software in many respects, because the work exists as electronic documents and goes through analysis, design, implementation, and testing phases. Software tools for engineers use the tenets of computer science; as well as the tenets of calculus, physics, and chemistry. Computer Aided Design (CAD) Electronic Design Automation (EDA) Numerical Analysis Simulation File FTP File sharing File synchronization Finance Bond market Futures market Stock market Games Poker Multiuser Dungeons Video games Information systems, support almost every field LIS Management of laboratory data MIS Management of financial and personnel data Logistics Supply chain management Manufacturing Computer Aided Manufacturing (CAM) Distributed Control Systems (DCS) Music Music sequencers Sound effects Music synthesis Network Management Network management system Element Management System Operations Support System Business Support Systems Networks and Internet Domain Name System Protocols Routers Office suites Word processors Spreadsheets Presentations Operating systems Embedded Graphical Multitasking Real-time Robotics Signal processing, encoding and interpreting signals Image processing, encoding and interpreting visual information Speech processing Text recognition Handwriting recognition Simulation, supports almost every field. Engineering, A software simulation can be cheaper to build and more flexible to change than a physical engineering model. Sciences Sciences Genomics Traffic Control Air traffic control Ship traffic control Road traffic control Training Drill Simulation Testing Visualization, supports almost every field Architecture Engineering Sciences Voting World Wide Web Browsers Servers

Software engineering topics

Programming paradigm, based on a programming language technology Object-oriented programming Aspect-oriented programming Functional decomposition Structured programming Rule-based programming

Databases Hierarchical Object Relational SQL/XML SQL NoSQL

Graphical user interfaces GTK+ GIMP Toolkit wxWidgets Ultimate++ Qt toolkit FLTK

Programming tools Configuration management and source code management CVS Subversion Git Mercurial RCS GNU Arch LibreSource Synchronizer Team Foundation Server Visual Studio Team Services Build tools Make Rake Cabal Ant CADES Nant Maven Final Builder Gradle Team Foundation Server Visual Studio Team Services Visual Build Pro Editors Integrated development environments (IDEs) Text editors Word processors Parser creation tools Yacc/Bison Static code analysis tools

Libraries Component-based software engineering

Design languages Unified Modeling Language (UML)

Patterns, document many common programming and project management techniques Anti-patterns Patterns

Processes and methodologies Agile Agile software development Extreme programming Lean software development Rapid application development (RAD) Rational Unified Process Scrum Heavyweight Cleanroom ISO/IEC 12207 — software life cycle processes ISO 9000 and ISO 9001 Process Models CMM and CMMI/SCAMPI ISO 15504 (SPICE) Metamodels ISO/IEC 24744 SPEM

Platforms A platform combines computer hardware and an operating system. As platforms grow more powerful and less costly, applications and tools grow more widely available.

BREW Cray supercomputers DEC minicomputers IBM mainframes Linux PCs Classic Mac OS and macOS PCs Microsoft .NET Palm PDAs Sun Microsystems Solaris Windows PCs (Wintel) Symbian OS

Other Practices Communication Method engineering Pair programming Performance Engineering Programming productivity Refactoring Software inspections/Code reviews Software reuse Systems integration Teamwork

Other tools Decision tables Feature User stories Use cases

Computer science topics Algorithms, well-defined methods for solving specific problems. Searching Sorting Parsing Numerical analysis Compiler theory Yacc/Bison Data structures, well-defined methods for storing and retrieving data. Lists Trees Hash tables Computability, some problems cannot be solved at all List of unsolved problems in computer science Halting problem Complexity, some problems are solvable in principle, yet unsolvable in practice NP completeness Computational complexity theory Formal methods Proof of correctness Program synthesis Adaptive Systems Neural Networks Evolutionary Algorithms

Mathematics topics Discrete mathematics is a key foundation of software engineering.

… excerpt ends here. Continue reading the full article.

Worked examples

Example 1 — a first encounter with Outline of software engineering

Start with the simplest possible case. Write down what Outline of software engineering claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Outline of software engineering before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Outline of software engineering ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Outline of software engineering

In research
Outline of software engineering appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Outline of software engineering in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Outline of software engineering is common in secondary-school and first-year university syllabi. It links to neighbouring topics Computing-related lists, Outlines, Outlines of computing and engineering, so understanding it makes those chapters shorter.
In everyday life
Look for Outline of software engineering outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Outline of software engineering in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Outline of software engineering means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Outline of software engineering out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Outline of software engineering in simple terms?

The following outline is provided as an overview of and topical guide to software engineering: Software engineering – application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is the application of engineering to software. The A…

Why does Outline of software engineering matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Outline of software engineering?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Outline of software engineering.

Tags

  • Computing-related lists
  • Outlines
  • Outlines of computing and engineering
  • Software engineering

Keep exploring