Software Engineers Handbook

From Wikibooks, the open-content textbooks collection

Jump to: navigation, search

Dear Friends,

The purpose of this online collaboration is to give software engineers, software developers, computer scientists, and information technology professionals a good place to look when they are starting something new. The introductory material would be given here, including vocabulary necessary to search the web effectively, and references to web sites, articles, and texts for more in depth coverage.

  • About to try a new programming language? Try the language dictionary.
  • Have an interview in a new industry? Try the sector pages.
  • Switching from Windows to Unix? Try the operating system pages.
  • Been asked to put together your configuration management strategy for your project? See the supporting processes pages.
  • Don’t see the page you need? Add one or request it.
  • See something wrong with a page? Edit it.

Currently, I’m looking for many pages including contents of the Ruby and Pascal language dictionary pages and any process oriented information.

  • Please make sure your favorite computer languages are represented in the dictionary.
  • Please make sure your areas of expertise are well represented!
  • Please add requests for subjects you are interested in.

Thanks and welcome!

Contents

[edit] Book Contents

[edit] Life Cycle

Please enter more parts!

Development Methodologies
Extreme Programming
Traditional Waterfall
Problem Analysis
Requirements
Software Requirements Specification
Design
Choosing an Algorithm
Choosing a Data Structure
Large Scale Projects
Methodologies
Patterns
Implementation
Choosing a Programming Language
Coding Standards
Refactoring
Software Quality Assurance (SQA)
Testing
Unit Testing
Integration Testing
User-Acceptance Testing

[edit] Supporting Processes

Configuration Management
Computer-Aided Software Engineering

[edit] Software Engineering General Links

Software Engineering Wikibook
Software Engineering Body of Knowledge (SWEBOK)

[edit] Operating Systems

OS X
Linux
Unix
Windows
Forth over bare iron
Smalltalk over bare iron
CP/M
OS/360
VMS

[edit] RTOS - RealTime Operating Systems

[1] µC/OS-II - A highly portable multitasking Real-Time Kernel, ROMable, very scalable, preemptive real-time, multitasking kernel (RTOS) for microprocessors and microcontrollers
[2] uSmartX - A non-preemptive, multitasking, priority based RTOS for small foot-print embedded designs.
[3] ESF RTOS - an elegant, simple, powerful, and easily customizable, object-oriented interface to kernel services, such as thread creation and synchronization.
[4] Micro Itron - A japanese Operating System.

[edit] Sectors: areas of industry specialization

Finance
Imaging
Security
Automotive

[edit] Fields: areas of development specialization

Database
Embedded Systems
Office Automation
Web

[edit] Language Dictionary

Here is the language dictionary sample template. Please use it for new language entries. (Open, edit, copy, click cancel, go to the page you're adding, and paste it in the editing page. Edit to match the language being added. And thanks for adding a new language!)

[edit] Multi-paradigmed

Ada
C++
Perl
PHP

[edit] Object Oriented

Java
Ruby
Smalltalk
Visual J++
Visual Basic .NET

[edit] Procedural

COBOL
FORTH
Perl
PHP
PL/I
Visual Basic

[edit] Imperative

ALGOL
BASIC
C
FORTRAN
Pascal

[edit] Functional

Haskell
J
Joy
Lisp
Ocaml
RPG
Erlang

[edit] Scripting

bash
csh

[edit] Mini

bc

[edit] Markup Languages

HTML
XML
Wikitext

[edit] Code Generators

Rhapsody
Rational Rose Realtime
Tau Telelogic

[edit] Assembly (template)

Burroughs B5700
DEC PDP-11
IBM
IBM 360
IBM 709
IBM 1401
x86:
FASM
GAS
GoAsm
HLA
Ideal
MASM
NASM

[edit] Logical

Prolog
Mercury
Oz

[edit] Concurrent Constraint

Janus
ToonTalk

[edit] Further Reading

Personal tools