-
- Concurrent Engineering Research Center
- Construx Software Development Resources
- Construx Software Development Links
- Christine Mumford's Resources page
- Dick Botting's Software Development Research Resources
- Distributed Software Engineering
- Electronic Engineers' Toolbox
- Epigrams in Programming, Alan Perlis
- NASA Software Engineering Links
- Pacific Software Research Center
- Psychology of Programming Interest Group (PPIG)
- PTedesco's Home Page
- RenaissanceWeb - Software Reengineering
- RSPA Information/System Engineering Links
- RSPA Real-Time Software Links
- RSPA Software Engineering Resources
- SEI Information Server
- SEI/CMU ftp site
- SEweb, Flinders Univ.
- SEworld
- SEworld is an internet resource which provides the Software
Engineering community with timely announcements of conferences,
workshops, symposia, special journal issues, calls for papers,
research and educational systems, and the like. Use of seworld
is for non-commercial purposes only.
- Software Developer's Handbook
- The Software Developer's Handbook is a compendium of knowledge
about the various facets of Software Development, with links and
references to original, more in-depth sources. This is not meant
to be the official, sole source of wisdom on any of the subjects
it covers. Its purpose is to identify topics relevant to the art,
science, and discipline of developing quality software.
- Software Engineering Archives
- Software Engineering References & Links, SMU
- Software Engineering Links, SMU
- Software Engineering Resources, Gert Florijn
- Software Engineering Web Module
- SPC Software Engineering Links
- Steve McConnell's Home Page
- SW-ENG Home Page
- SYDE 221 Software Design Course
- TCM's Training & Development Resource Centre
- USC Software Engineering Resources
back to Software Engineering
-
- Annals of Software Engineering Website
- Construx Software Development Checklists
- Construx Sample Software Documents
- How to write User Docs, John Massa
- Ovum Reports Home Page
- John Lambert's Software Engineering Overview
- Software Engineering (Computer Technology)
- Software Engineering Defined!?!
- Software Engineering Glossary
- Software Engineering Proverbs
- Software Engineering: a Field Guide
- Steve McConnell's Best Practices Columns
- 7 Principles of Software Development
- STSC Documentation and MIL-STD 498
- Tom Van Vleck Software Engineering Stories
back to Software Engineering
-
- ACM SIGSOFT
- ACM Technical Standards Committee
- Association For Women In Computing
- Atlantic Systems Guild
- DA VINCI Initiative Homepage
- The Da Vinci initiative aims to explore computer support
mechanisms for enhancing distributed engineering design change
negotiation. The system envisioned would include
computer-supported design tools, distributed communication tools,
design knowledge access tools, design artifact object models, as
well as a methodology and inference engine for design change
management.
- Consortium for Software Engineering Research
- ESEG at UMCP Home Page
- European Software Institute (ESI)
- FASE - Forum for Advancing Software engineering Education
- FIE 97: Session Index
- ICSE'97, Boston, Massachusetts, USA
- ICSE'98, Kyoto, Japan
- ICSE'98 Workshop on Human Dimensions in Software Development
- Dublin Centre For Software Engineering
- NASA/WVU Software Research Laboratory
- The Software Research Laboratory (SRL) is a cooperative effort
between the NASA Office of Safety and Mission Assurance (OSMA)
and West Virginia University. The NASA/WVU Software Research
Laboratory is located at the NASA Independent Software
Verification and Validation Facility in Fairmont, West Virginia.
If you would like more information on the research project, you
can subscribe to our quarterly newsletter or to the nasa-wvu-srl
mailing list.
- NRC IIT Software Engineering Group
- Software Engineering Reading Group
- Software Engineering Research Laboratory
- Software Productivity Consortium Home Page
- Software Research Institute
- STSC Home Page
- Technical Council on Software Engineering
- UBS: Software Engineering
back to Software Engineering
-
-
-
- CoCoMo FAQ from Softstar Systems
- CoCoMo Project Homepage
- CoCoMo Tutorial, Mark Kirstein
- Construx Free Estimation tool
- DACS Cost Estimation
- Empirical Software Engineering, Journal
- Function Point FAQ
- Function Points, Longstreet Consulting
- History of Software Measurement
- IFPUG Home Page
- NASA Parametric Cost Estimating Group
- International Society of Parametric Analysts
- SEPO REVIC Estimation Model
- Software Cost Estimation Study - Table of Contents
- USC CoCoMo Tutorial, Ray Potter
- Value Engineering Home Page
- What Are Function Points?, Capers Jones
back to Software Engineering
-
- ARCS: Architecture and Composition of Software
- he ARCS research group is formed by researchers from the
University of Karlskrona/Ronneby and the University of Kalmar.
Within ARCS we study the architecture of software systems and the
composition of software components in such systems, primarily
from the perspective of the object-oriented paradigm. This
indicates that our approach to software architecture is
influenced by our experiences in object-oriented frameworks and
class libraries, design patterns and advanced object-oriented
computation models.
- ASSET Welcome Page
- Blackberry SDRR Project
- The goal of the SDRR project was to create a technology for
generation of software component
- CARDS Home Page
- Centre for Software Maintenance
- Design Recovery and Program Understanding
- Genitor Object Construction Suite
- The GHINSU project
- Ghinsu is an environment that integrates a number of tools that
aid in a number of software engineering activities primarily
maintenance. The input to the current version of Ghinsu is a
program written in large subset of C (including pointers). Ghinsu
has been supported via grants by the Software Engineering
Research Center (SERC) and developed at the University of
Florida's Computer and Information Sciences Department.
- Repository Based SE Program
- SEI Domain Engineering
- SEI Open Systems
- Software Evolution & Reuse Home Page
- Software Evolution Group at UCSD
- Software Maintenance Links, SMU
- SSGRG - Software Systems Generator Research Group
- Software system generators are tools for assembling complex
software from interchangeable, reusable components. We have
developed GenVoca, a domain-independent model of software
construction that defines systems as algebraic equations, where
terms are components. GenVoca has been successfully applied to
many domains including database management systems, avionics, and
data structures. Our results have demonstrated GenVoca generators
can substantially improve productivity and application run-time
performance.
- TakeFive Software's Sniff++
- The Unravel Program Slicing Tool
- Wisconsin Program-Slicing Project's Home Page
- The goal of this project is to create enhanced tools to support
the development of complex software systems. The objective is to
create tools that provide powerful language-specific
program-manipulation operations. In particular, the project has
explored how program slicing can serve as the basis for such
program-manipulation operations. The slice of a program with
respect to a set of program elements S is a projection of the
program that includes only program elements that might affect
(either directly or transitively) the values of the variables
used at members of S. Slicing allows one to find semantically
meaningful decompositions of programs, where the decompositions
consist of elements that are not textually contiguous. Program
slicing is a fundamental operation that can aid in solving many
software-engineering problems. For instance, it has applications
to program understanding, maintenance, debugging, testing,
differencing, specialization, reuse, and merging.
- The Wisconsin Program-Slicer
- The Wisconsin Program-Slicing Tool is a software system that
supports operations on C programs, including backward slicing,
forward slicing, and chopping [HRB90, RHSR94, RR95], which can
help the user gain an understanding of what a program does and
how it works. The Slicing Tool consists of a package for building
and manipulating control-flow graphs and program dependence
graphs, as well as a front-end that parses C programs and
translates them to the internal representations used for slicing.
back to Software Engineering
-
-
- BCS Formal Aspects of CS Group
- BRICS Formal Methods Research
- Cleanroom Selected Bibliography
- Cleanroom Software Engineering, Inc.
- Cleanroom Software Engineering tutorial
- DACS Cleanroom Software Engineering
- DACS Formal Methods
- Formal Methods and Theory Research Group
- Formal Methods at Bell Labs
- Formal Methods at SRI
- Formal Methods European HUB
- NRC IIT Formal Methods Research
- NRC IIT Formal Methods Resources
- WWW Virtual Library: Formal Methods
- WWW Virtual Library: Formal Methods
- WWW Virtual Library: The Z notation
back to Software Methods and Techniques
-
- ACM-IIT Programming Competition League (AIPCL)
- Aspect-Oriented Programming Home Page
- BCS Advanced Programming Group
- BCS Mathematical Programming Group
- CMU POP Group
- CMU Principles of Programming (POP) Group. The goal of the POP
group is to understand, develop, and demonstrate the principles,
processes, and supporting technologies for the construction of
computing systems.
- Component-Oriented Programming, TAU
- Component Technology Homepage
- CONCUR - IIT Concurrent Programming Group
- Generic Programming Research Group
- HL: A Markup Language For HTML and Latex
- The HL markup language is designed to translate to both HTML and
Latex. Its syntax resembles Latex more than HTML. However,
because its markup commands describe function rather than dictate
format, the semantics of the HL language resembles HTML more than
Latex. The HL language is designed to differentiate between text
and code chunks in the style of a literate programming tool.
However, the HL language may be used for purposes other than
literate programming.
- Intentional Programming Overview
- IPG - International Programmers Guild - Society
- Knuth: Literate Programming
- Knuth and Levy:CWEB
- Literate Programming FAQ
- Literate Programming Library
- Noweb Literate Programming home page
- Microsoft Research Intentional Programming Group
- Microsoft Research Program Analysis Group
- Microsoft Research Advanced Development Tools
- MIT Media Lab, Software Agents Group
- Open Implementation Home Page
- Open Implementation is a software design technique that helps
write modules that are both reusable and very efficient for a
wide range of clients. In the Open Implementation approach,
modules allow their clients individual control over the module's
own implementation strategy. This allows the client to tailor the
module's implementation strategy to better suit their needs,
effectively making the module more reusable, and the client code
more simple. This control is provided to clients through a
well-designed auxiliary interface.
- Package-Oriented Programming (POP!)
- Programming Methodology Group Home Page
- Programming Tips from the Software Doctor
- The Stony Brook Algorithm Repository
- The Tao Of Programming
back to Software Methods and Techniques
- BCS Methods & Tools Group
- Cetus Links: O-O Methods
- Code Documentation Principles
- DA VINCI Initiative Homepage
- The Da Vinci initiative aims to explore computer support
mechanisms for enhancing distributed engineering design change
negotiation. The system envisioned would include
computer-supported design tools, distributed communication tools,
design knowledge access tools, design artifact object models, as
well as a methodology and inference engine for design change
management.
- Design for ... Home Page
- Design for Competitive Advantage Home Page
- DSDM Consortium WWW Page
- Feature-Oriented Domain Analysis
- The Feature-Oriented Domain Analysis (FODA) methodology resulted
from an in-depth study of other domain analysis approaches .
Successful applications of various methodologies pointed towards
approaches that focused on the process and products of domain
analysis. As a result, the FODA feasibility study
[CMU/SEI-90-TR-21] established methods for performing a domain
analysis, described the products of the domain analysis process,
and established the means to use these products for application
development. The FODA methodology was founded on a set of
modeling concepts and primitives used to develop domain products
that are generic and widely applicable within a domain. The basic
modeling concepts are abstraction and refinement.
- Good Programming, Developer's Handbook
- Metamodel.com: Metamodel information
- Methods & Tools Newsletter
- Methods Integration Research Group
- POOMA - Parallel Object-Oriented Methods and Applications
- Reuse Contracts
- RSPA Analysis Concepts and Methods Links
- RSPA Design Concepts and Methods Links
- Software Design Methods Report
- Software Methods and Tools Homepage
- Wisconsin Program-Slicing Project's Home Page
- The goal of this project is to create enhanced tools to support
the development of complex software systems. The objective is to
create tools that provide powerful language-specific
program-manipulation operations. In particular, the project has
explored how program slicing can serve as the basis for such
program-manipulation operations. The slice of a program with
respect to a set of program elements S is a projection of the
program that includes only program elements that might affect
(either directly or transitively) the values of the variables
used at members of S. Slicing allows one to find semantically
meaningful decompositions of programs, where the decompositions
consist of elements that are not textually contiguous. Program
slicing is a fundamental operation that can aid in solving many
software-engineering problems. For instance, it has applications
to program understanding, maintenance, debugging, testing,
differencing, specialization, reuse, and merging.
- Xerox PARC Embedded Computation Area
back to Software Engineering
-
- Australian Software Metrics Association
- Cetus Links: O-O Metrics
- CU Arcadia Process Metrics and Evaluation Papers
- DACS - Data & Analysis Center for Software
- DACS Software Measurement
- Empirical Software Engineering, Journal
- History of Software Measurement
- METRE C Software Metrics Tool Tutorial
- Metrics HandiGuide
- Norman Fenton's home page
- Norman Fenton's papers
- Norman Fenton's Software Measurement Links
- O-O Metrics Discussion
- O-O Systems Metrics
- Object-Oriented Metrics Publications
- OOPSLA'96 papers on O-O Metrics
- Patti Beadle's Software Metrics
- Programs for C Source Code Metrics
- QMOOD++ - automated Quality Metrics for OOD
- RSPA Process Metrics Links
- RSPA Technical Metrics Links
- SATC Metrics
- SEI Software Engineering Measurement & Analysis
- Software Measurement and Functional Programming
- Software Metrics - Forum
- Software Metrics Bibliography
- Software Metrics Classification
- Software Metrics Home Page
- Software Metrics Investigation and Tool
- Software Metrics sites on the Web
- STSC Software Metrics Page
- Warren Harrison's Software Metrics page
- Wayne Mackrell's Software Metrics Summary Page
- WISE for Linux
- WISE: Web-Integrated Sw Metrics Env.
- The Web-Integrated Software metrics Environment (WISE) is the
first WWW-based project management and metrics system available
on the WWW. WISE is a WWW-based tool that provides a framework
for managing software development projects across the Web.
Programmers and managers can log issue reports, track the status
of issues, and view project metrics using standard WWW browsers.
WISE provides a non-intrusive method to coordinate project
activities and allow software development teams to view their
progress and performance.
back to Software Engineering
-
-
-
-
- ASQC Home Page
- Centre for Software Reliability
- Claude Stricker's Quality Page
- CQI: Continuous Quality Improvement Server
- Function Analysis Home Page
- GOAL/QPC Research
- GOAL/QPC WWW Home Page
- Grout's Poka-Yoke Page
- Grout's Quality Management Links
- ISO Online
- Longstreet Consulting IFPUG Info
- McCabe & Associates Home Page
- QA Dude - Software Quality Resources
- Quality Function Deployment
- Quality in Computing
- Quality Network Intro Page
- Quality Online Forum
- Quality Resources Online
- Reliability Engineering Home Page
- SCOPE: Software Quality and Productivity
- Software Quality Institute (SQI)
- The Software Quality Page
- Software Quality Links, SMU
- SR/Institute's Software Quality HotList
- STSC Software Quality Engineering Page
- Software Reliability Links, SMU
- Software Safety Links, SMU
back to Software Quality
-
- Cost Technologies for Competitive Advantage
- Deming Electronic Network
- McCabe & Associates Outlook Newsletter
- P-RooT & COO Quality Papers and Reports
- Personal Commitment to Software Quality, Watts Humphrey
- Price Systems Technical Papers
- Quality Management Principles
- SingleSource Guide to Software Quality Books
- SQA Plan Template, Dennis Butler
- Software QA Magazine
back to Software Quality
back to Software Engineering
-
- Effective Requirements Management Under SEI CMM
- Requirements Engineering Newsletter
- Requisite Inc.'s Requirement.com
- RENOIR Home Page
- RENOIR is the Requirements Engineering Network Of International
cooperating Research groups. RENOIR is a network of excellence
established within the Fourth Framework Programme (FP4) of the
European Union. It is a network of research groups, each with
established excellence in the area of requirements engineering,
funded through the FP4 provisions for research and technology
development in information technology, collectively known as
ESPRIT.
- Requirements Definition Techniques, SMU
- Requirements Engineering Tools and Techniques
- Requirements Gathering, Developer's Handbook
- Requirenautics Quarterly
- RPL Requirements Analysis Home Page
- The Rapid Prototyping Labaratory Home Page for Requirements
Analaysis and Elicitation using the LOCANA O-O CASE tool.
- Bruce Whitenack's RAPPeL
- RAPPeL is a pattern language that provides direction and
rationale for guiding analysts, developers and project managers
in determining and defining requirements for business
applications (e.g. information management systems, decision
support systems, work-flow management, scheduling, etc.) to be
developed in an OO environment.
- QSS Papers on Requirements Engineering
- Requirements Management for Small Organizations
- SEweb - Requirements Engineering
- STSC Requirements Engineering & Design Page
- Distrubuted O-O Requirements Management
- Use-Case Resources Page
- Use-Case FAQ
- Use-Cases Workshop (OOPSLA)
- User Requirements Document Template
- the FLAVORS project
- This project is examining the use of formal methods to find
errors in specifications. The approach is particularly geared to
V&V efforts, where the aim is not to develop and baseline
complete formal specification, but to perform "surgical strikes"
to check for particular properties or to test for particular
kinds of error in specifications. We refer to this as
"lightweight" use of formal methods, and we are particularly
interested in testing formal properties of partial
specifications.
- the WHERE project
- This project is concerned with the communication and coordination
problems faced on large, geographically distributed projects. The
problems are especially evident where several organisations need
to cooperate on a project; hence we have focussed on IV&V
processes. IV&V makes an interesting case study material, because
the processes of finding and repairing errors in project material
(specifications, code, manuals, etc) is much more observable when
it crosses organisational boundaries.
back to Software Engineering
-
- BCS Software Reuse Group
- Boeing RDE - Reuse-Driven Development Environment
- Cetus Links: Software Reuse
- Dick Botting's Reuse Resources
- DACS Software Reuse
- Fundamental Reuse Principles, Moore
- IEEE RSC Web
- IEEE RSC Software Reuse Principles, Summary
- IEEE RSC, Software Reuse Principles Home
- Martin Griss's Reuse Page
- OSU Reusable Software Research
- Package-Oriented Programming (POP!)
- Patterns of Software Reuse
- ReNewsWWW
- Reuse Contracts
- Reuse Group Homepage
- Reuse Home Page
- Reuse Metrics Calculator
- Reuse '97
- ReuseIC Home Page
- RSPA Reuse Links
- Software Evolution & Reuse Home Page
- Software Reuse Organizations
- SORT: Software Optimization and Reuse Technology
- Working Group for Institutionalizing Software Reuse
- WISR Software Reuse Papers & Abstracts
- WISR8: 8th Annual Workshop on Software Reuse
- WVU Reusable Software Research Group (RSRG)
back to Software Engineering
-
- WWW Formal Technical Reviews Archive
- The ASSIST Page - Supporting Software Inspection
- C++ Code Inspection Checklist
- C++ Style Guide
- Construx Software Development Checklists
- GUI Inspection Checklist
- Michael Fagan Associates
- NASA Formal Inspections Guidebook
- Product Knowledge is not a Prereq for Inspection
- Software Inspections & Reviews Org.
- Software Inspections & Technical Reviews: Transcending the Dogma
- Technical Reviews and Inspections Bibliography
- Tools for Formal Technical Review
- Weiss and Kimbrough Inspection Materials
- Why Isn't Inspection Used?
back to Software Engineering
-
- QSM Risk Management Strategies
- Integrated Risk Management Process (IRMP)
- Risk Management, Alistair Cockburn
- RISKWeb Home Page
- RSPA Risk Analysis Links
- SEI Risk Program
- SEI Risk Management FAQ
- SRI-CSL-RISKS
back to Software Engineering
-
-
-
- BCS CASE Group
- CASE companies and their products
- CASE Tools Home Page
- MetaCASE Home Page
- Formally Describing Software Tool Integration Frameworks
- Genitor - Building a Rapid ODE
- Genitor is a suite of development tools that assists C/C++
developers in implementing and reusing objects. A graphical
editing environment lets developers rapidly construct any kind of
class, function, struct, union, or template. Genitor stores
objects in one or more shared repositories. Powerful search
capabilities help users quickly locate and reuse objects
developed by any member of their project team. Genitor generates
compiler-ready code as well as printed and online documentation.
- IPTG Info on Software Development Tools
- Microsoft Research Advanced Development Tools
- Microsoft Research Languages & Tools Group
- The MultiView SDE
- This project is investigating the automatic maintenance of
multiple views of software components (such as textual, flowchart
and other graphical views) in integrated programming
environments, as an aid to software development productivity. A
fourth-generation prototype of the MultiView environment has been
implemented; this prototype demonstrates the approach to
maintaining multiple views, parallel incremental code generation
(i.e., object code for the program is generated in the background
during program editing) and the tools provided for developing new
kinds of views.
- PCTE Home Page
- Programming Environments Lab at IDA-LIU
- Reactor--Blue Paper
- Reactor is a SRC Modula-3 based, distributed application
development system that represents a new generation of technology
for building client/server, multi-tiered, and distributed
applications. It combines an innovative web-based application
development system with a rich and robust distributed
infrastructure.
- SEI Bibliography of CASE/CM Technology
- SEI CASE Environments Group
- SEweb - Tool Integration Home Page
- SEweb - Tools & Environments
- TakeFive Software's Sniff++
- Tailoring Integrated SE Environments with Frameworks
back to Software Tools and Technology
- APP - Annotation PreProcessor
- App is a tool for annotating systems with design specifications
in a way that allows automatic checking of those specifications
at runtime. App instruments C programs for runtime checking. It
takes a C source file, annotated with high-level specifications,
and pre-processes the specifications into executable C code. When
used in conjunction with libapp, app can also be used to
configure programs to generate a trace of their execution events.
- ASSET - Asset Source for Software Engineering Technology
- AT&T Labs Research - Software Tools
- Cetus Links: O-O Tools
- CIAO - Graphical Navigator for Software and Document Repositories
- CIAO is a graph-based navigator that allows users to query and
browse structural connections embedded in different software and
document repositories. The architecture of CIAO enables the
construction of successively more complex operators using a
notion of virtual database pipelines.
- DA VINCI Initiative Homepage
- The Da Vinci initiative aims to explore computer support
mechanisms for enhancing distributed engineering design change
negotiation. The system envisioned would include
computer-supported design tools, distributed communication tools,
design knowledge access tools, design artifact object models, as
well as a methodology and inference engine for design change
management.
- DACS Software Technology Base
- Designing and Building Parallel Programs
- EASEL - an Application-Building Language
- The End-User Application System Encoding Language (EASEL) is a
language and system for writing end-user applications based on
interactive constructs such as windows, forms, menus and
hypertexts. EASEL runs on UNIX platforms as a tool for: Designing
a system architecture that maps closely to users' needs Building
an interface that reflects that architecture Leveraging as much
as possible from existing software tools in implementation.
- Freeze & Melt Technology
- Galileo: An Advanced Fault Tree Analysis Tool
- HL: A Markup Language For HTML and Latex
- The HL markup language is designed to translate to both HTML and
Latex. Its syntax resembles Latex more than HTML. However,
because its markup commands describe function rather than dictate
format, the semantics of the HL language resembles HTML more than
Latex. The HL language is designed to differentiate between text
and code chunks in the style of a literate programming tool.
However, the HL language may be used for purposes other than
literate programming.
- Natural Programming
- The goal of this project is to make computer programming more
accessible to children and adult non-programmers.
- Methods & Tools Newsletter
- microTOOL - Tools and Techniques
- MIT Reinventing Computing Project
- ModelAge - Agent Modelling and Technology
- The goal of ModelAge is to establish a common formal model of the
concept of agent , usable across a wide number of fields of
Information Technology, where its importance is now appearing.
the key facets of an agent appear to be: goals: each agent is
trying to achieve through cooperation a precise objective under
given constraints. beliefs: agents have an internal, imperfect
representation of the world (including the state of other
agents), on which their decisions are based. behaviours: agents
act, communicate and perceive, showing thus an external behaviour
that often obeys normative rules. heterogeneity: agents may be
software, hardware systems, individual humans or human
organizations.
- Parallel Tools Consortium
- PSEware - Problem Solving Environments
- PSEware is a Toolkit for Building Problem-Solving Environments
- SEI Technology
- Semantics-Based Program Analysis and Manipulation
- SLATE - History & Theory
- SLATE - Overview
- Software Development Tools, CERN ECP
- Software Document Automation: A Technical Overview
- Software Methods and Tools Homepage
- Software Technology Interest Group
- Software Technology Support Center
- SORT: Software Optimization and Reuse Technology
- System Software Research Group (UIUC)
- TCM - Toolkit for Conceptual Modeling
- User Interface Software Tools
- The Wisconsin Program-Slicer
- The Wisconsin Program-Slicing Tool is a software system that
supports operations on C programs, including backward slicing,
forward slicing, and chopping [HRB90, RHSR94, RR95], which can
help the user gain an understanding of what a program does and
how it works. The Slicing Tool consists of a package for building
and manipulating control-flow graphs and program dependence
graphs, as well as a front-end that parses C programs and
translates them to the internal representations used for slicing.
back to Software Engineering