azhe825 / Literature-Review

0 stars 0 forks source link

Software Engineering #2

Open azhe825 opened 8 years ago

azhe825 commented 8 years ago

Search-based software engineering Evidence-based software engineering for practitioners Issues in agent-based software engineering Knowledge management in software engineering

azhe825 commented 8 years ago

Search-based software engineering

Search based optimization techniques have been applied to a number of software engineering activities, right across the life-cycle from requirements engineering [5], project planning and cost estimation [1, 3, 4, 16, 28, 52] through testing [6, 7, 11, 14, 15, 36, 39, 54, 61, 87], to automated maintenance [12, 32, 38, 64, 65, 70, 77, 78], service-oriented software engineering [19], compiler optimization [24, 25] and quality assessment [13, 49].

  1. The choice of the representation of the problem.
  2. The definition of the fitness function.

Apps: Cost estimation allocations in project planning (bin packaging problem) Requirements engineering, Next Release Problem (NRP) Optimizing design decisions Optimizing source code Optimizing test data generation Optimizing test data selection and prioritization Optimizing maintenance and reverse engineering

azhe825 commented 8 years ago

Evidence-based software engineering for practitioners

EBSE aims to improve decision making related to software development and maintenance by integrating current best evidence from research with practical experience and human values.

Close gap between research and practice (academia and industry)

5 steps of EBSE

  1. Convert a relevant problem or information need into an answerable question.
  2. Search the literature for the best available evidence to answer the question.
  3. Critically appraise the evidence for its validity, impact, and applicability.
  4. Integrate the appraised evidence with practical experience and the customer’s values and circumstances to make decisions about practice.
  5. Evaluate performance and seek ways to improve it.

software process improvement:

  1. Identify a problem.
  2. Propose a technology or procedure to address that problem.
  3. Evaluate the proposed technology in a pilot project.
  4. If the technology is appropriate, adopt and implement it.
  5. Monitor the organization after implementing the new technology.
  6. Return to step 1.
azhe825 commented 8 years ago

Issues in agent-based software engineering

Agents:

Role based. Each agent only cares about informations associated with it self.

azhe825 commented 8 years ago

Knowledge management in software engineering

A software organization’s main asset is its intellectual capital.

Business needs:

Knowledge needs