Object Oriented Software Engineering   View all facts   Glossary   Help
subject > process
Next subjectprocess model    Upsubject    Previous subjectproblem^2   

process comparison table
Subject include consist of is part of result in prevent require emphasize as part of is a subtopic of have goal consists of involve introduce see also has part perform by determine use by have difficulties occur have purpose organize into have definition from the IEEE is a synonym of have example use during avoid by give have risk need when cause see as have goals have economic constraints occur in handle by do without have procedure done on automate by have definition from the Canadian Standards Association use have part be not perform using has definition be have challenge automate
analysis       2.2 - Classes and Objects    process^2                                   
build       10.9 - Strategies for Testing Large Systems  compiling and integrating all the components of the software, incorporating any changes since the last time this was done process^2                        a daily or weekly basis      The process of compiling and integrating all the components of the software, incorporating any changes since the last build   
business process       4.9 - Managing Changing Requirements    process^2                         software system     A process performed by people in an organization   
casting       The Basics of Java    process^2      to convert an instance of one data type into another which is a subclass of the original type   
(String)i.next()
                        
compilation       The Basics of Java    process^2                               The process of translating source code into code that is executable by a computer   
construction       11.3 - Cost Estimation    process^2                             like construction of buildings A term often applied to the latter stages of design and to programming, even though the analogy with construction in other areas of engineering is weak   
contracting-out       1.1 - The Nature of Software    process^2                               Paying to have software (typically custom software) developed by some other organization   
cost estimation       11.3 - Cost Estimation    process^2                           elapsed time   The process of estimating the effort and elapsed time of an activity or projecta continuous activity  
cost estimation technique       11.3 - Cost Estimation    process^2   cost estimator                               
defining the problem  requirements and specification    1.6 - Software Engineering Projects    process^2                               A part of requirements and specification that involves narrowing down the scope of the system by determining the precise problem that needs solving   
deployment       9.4 - Software Architecture    process^2                               The process of distributing and installing the software and any other components of the system such as databases, special hardware etc. It also involves managing the transition from any previous system   
design     considerable experience 9.1 - The Process of Design    design^2user interface design how components will be implemented in a system               
  • Increasing profit by reducing cost and increasing revenue
  • Ensuring that we actually conform with the requirements, thus solving the customers' problems
  • Accelerating development, which helps reduce short-term costs, and may also ensure the software reaches the market soon enough to effectively compete
  • Increasing qualities such as usability, efficiency, reliability, maintainability, and reusability which can help reduce costs and also increase revenues
            The problem-solving process whose objective is to find and describe a way to implement the system's functional requirements, while respecting the constraints imposed by the non-functional requirements, and while adhering to general principles of good quality   
deterioration       1.1 - The Nature of Software    process^2                               The tendency of software to accumulate defects as time passes due to errors being made during maintenance   
development       4.5 - Types of Requirements    process^2         software engineering process                     A process used to develop software   
dynamic binding    programmers from having to write conditional statements to explicitly choose which code to run  2.6 - The Effect of Inheritance Hierarchies on Polymorphism and Variable Declarations    process^2         virtual binding   power to polymorphism the compiler determines that there more than one possible method that could be executed by a particular call               The process of binding a call to a particular method. This is performed dynamically at run-time due to the presence of polymorphism   
engineering       1.3 - Software Engineering as a Branch of the Engineering Profession    process^2                   
  • resources are finite
  • it is not worth doing something unless the benefit gained from it outweighs its cost, and
  • if somebody else can perform some particular task more cheaply or faster than us, they will succeed instead of us
           The process of solving problems by applying, in a disciplined, systematic and ethical way, scientific and economic knowledge and principles to the design and maintenance of products or processes   
enumerating attributes       10.8 - Writing Formal Test Cases and Test Plans    process^2                                the first step when creating a set of test cases  
evolution  software engineering    1.6 - Software Engineering Projects    process^2                               The process by which software is modified over the course of its lifetime to meet changing requirements and as problems are fixed or reengineering is performed   
generalization^2       5.4 - Generalization    generalization, generalization^3                               The process of creating a relationship between a set of similar entities and another entity that contains the common aspects of those entities   
gold-plating       4.8 - Reviewing Requirements    process^2                               Building a list of requirements that does more than needed   
implementation       1.7 - Activities Common to Software Projects    process^2                               The process of converting a design into an executable software system by programming and related activities   
internationalization       7.5 - Usability Principles    process^2                               The process of ensuring that a system can be easily adapted to different locales   
localization       7.5 - Usability Principles    process^2                               The process of adapting a system to a particular locale   
maintenance  software engineering    1.6 - Software Engineering Projects    process^2                               In the context of software, any process involving modifying software following its general release to users   
modelling      education programs5.1 - What is UML?    process^2           requirements analysis               formal languages  
  • diagrams
  • semi-formal or formal languages that express the information systematically or mathematically
The process of creating a modela particularly difficult skill  
obsolescence       9.2 - Principles Leading to Good Design    process^2                               The tendency for a technology to reach a state where it is no longer useful, is superseded by better technology or must be upgraded in order to continue to function correctly   
programming  software engineering    1.7 - Activities Common to Software Projects    process^2                                the final stage of design because it involves making decisions about programming language constructs, variable declarations etc.  
project managementall the activities needed to plan and execute a project      Chapter 11 - Managing the Software Process    process^2 software engineer  
  • Accurately estimating costs is a constant challenge
  • It is very difficult to measure progress and meet deadlines
  • It is difficult to deal with lack of human resources or technology that is needed to successfully run a project
  • Communicating effectively in a large project is hard
  • It is hard to obtain agreement and commitment from others
                          All the activities needed to plan and execute a project.   
project scheduling       11.4 - Building Software Engineering Teams    process^2                           PERT chart   The process of deciding what sequence the various activities will be done, and when they should start and complete   
propagation   the properties of the parts being propagated back to the aggregate   5.6 - More Advanced Features of Class Diagrams    process^2          the weight of an aggregate could be obtained by summing the weights of its parts         aggregations          A mechanism whereby an operation in an aggregate is implemented by having the aggregate perform that operation on its parts - in other words, the operation is propagated to the parts   
quality assurance       1.7 - Activities Common to Software Projects    process^2verification    throughout a project        the conflict between achieving adequate quality levels, and 'getting the product out of the door'  an overhead expense to be reduced   a separate department         The process of ensuring that the quality of a product or process is sufficient to meet the needs of the stakeholders   
requirements and specification       1.7 - Activities Common to Software Projects    process^2requirements specification                                  
requirements creep   very significant cost overruns in projects   4.9 - Managing Changing Requirements    process^2     when changes to a system are really enhancements in disguise      
  • using incremental development
  • carefully documenting the problem boundaries at an early stage
  • estimating the time any proposed requirement will take
  • . deferring major changes to subsequent releases if possible
                  The tendency for the set of requirements to relentlessly increase in size during the course of development, resulting in a system that is more expensive and complex than originally intended   
requirements elicitation  requirements gathering    4.6 - Some Techniques for Gathering and Analyzing Requirements    process^2                               The process of actively asking stakeholders to describe their view of the requirements; an important aspect of requirements gathering   
requirements gathering  requirements and specification    4.6 - Some Techniques for Gathering and Analyzing Requirements    process^2                               A step in requirements analysis in which information is obtained that will form the basis of the requirements   
reviewing       4.8 - Reviewing Requirements    process^2                               The process of systematically proceeding through a software document to perform a function such as validation, or verification   
risk management       1.8 - The Eight Themes Emphasized in this Book    process^2risk analysis                              The process of evaluating risks and taking corrective action, including revising plans, on a regular basis   
scheduling       11.5 - Project Scheduling and Tracking    process^2                               Determining the sequence of tasks, plus deciding when the tasks should start, and setting deadlines for when they must be complete   
serialization       3.5 - Technology Needed to Build Client-Server Systems    process^2                           to save objects into a binary file   A process in Java by which every object is converted by an ObjectOutputStream into a binary form for transmission, and then reconstructed when it is received by an ObjectInputStream   
software change       1.1 - The Nature of Software   new bugsprocess^2                      fully understanding the software design            
software development       1.2 - What is Software Engineering?    process^2                                labour-intensivedividing up the work and ensuring that the teams communicate effectively and produce subsystems that properly connect with each other to produce a large but functioning systemlike some other areas of engineering
software engineering developing completely new software     1.2 - What is Software Engineering?solving customers' problemsmodifying software that has been already written - this is because software is normally continually changed over a period of years until it becomes obsoletethe translation of higher-level designs into particular programming languages process^2project management      software projects(1) The application of a systematic, disciplined, quantifiable approach to the development, operation, maintenance of software; that is, the application of engineering to software. (2) The study of approaches as in (1)                 The systematic activities involved in the design, implementation and testing of software to optimize its production and supportresources such as the time and money of the stakeholders, and the CPU-time and memory of computersensuring that maintenance and evolution of software is done in a systematic way  The process of solving customers problems by the systematic development and evolution of large, high-quality software systems within cost, time and other constraints. The application of engineering to software systems of any kindundergoing development in its technology and techniquesaccurately forecasting how much time it will take either to develop a system, or to make a specific set of changes 
technique for prototyping class diagrams       5.8 - The Process Of Developing Class Diagrams    process^2                       
  • identify a class and write its names on a card
  • add the class' attributes and responsibilities to the card
  • move the cards around to arrange a class diagram
  • draw lines among the cards to represent associations and generalizations
   CRC (Class-Responsibility-Collaboration) cards       
test-fix-test cycle       10.9 - Strategies for Testing Large Systems    process^2                new defects to be added when the software is fixed either because the maintainer tried to fix the problem without fully understanding the ramifications of the change, or because the maintainer made an ordinary human error              The cycle in which software developers repeatedly run tests, discover and fix defects, and then retest. This continues until quality objectives are met   
tracking       11.5 - Project Scheduling and Tracking    process^2                           earned value chart   In the context of project management, he process of determining how well you are sticking to the cost estimate and schedule   
validation       1.7 - Activities Common to Software Projects    process^2                               The process of ensuring that requirements and designs solve the customer's problem   
verification       1.7 - Activities Common to Software Projects    process^2                               The process of ensuring that the design or implementation conforms to the requirements; the process of ascertaining that the software has no defects   

Next subjectprocess model    Upsubject    Previous subjectproblem^2