<< Chapter < Page Chapter >> Page >

This cost distribution holds where the costs of specification, design, implementation and integration are measured separately. Notice that system integration and testing is the most expensive development activity.

The evolution costs for generic software products are particularly hard to estimate. In many cases, there is little formal evolution of a product. Once a version of the product has been released, work starts on the next release and, for marketing reasons, this is likely to be presented as a new (but compatible) product rather than a modified version of a product which the user has already bought. Therefore, the evolution costs are not assessed separately as they are in customised software but are simply the development costs for the next version of the system.

What are software engineering methods?

A software engineering method is a structured approach to software development whose aim is to facilitate the production of high-quality software in a cost-effective way. Methods such as Structured Analysis (DeMarco, 1978) and JSD (Jackson, 1983) were first developed in the 1970s. These methods attempted to identify the basic functional components of a system and function-oriented methods are still widely used. In the 1980s and 1990s, these function-oriented methods were supplemented by object-oriented methods such as those proposed by Booch (Booch, 1994) and Rumbaugh (Rumbaugh, Blaha et al., 1991). These different approaches have now been integrated into a single unified approach built around the Unified Modeling Language (UML) (Fowler and Scott, 1997) (Booch, Rumbaugh et al., 1999; Rumbaugh, Jacobson et al., 1999; Rumbaugh, Jacobson et al., 1999).

All methods are based on the idea of developing models of a system which may be represented graphically and using these models as a system specification or design.

There is no ideal method and different methods have different areas where they are applicable. For example, object-oriented methods are often appropriate for interactive systems but not for systems with stringent real-time requirements.

What is case?

The acronym CASE stands for Computer-Aided Software Engineering. It covers a wide range of different types of program which are used to support software process activities such as requirements analysis, system modelling, debugging and testing.

All methods now come with associated CASE technology such as editors for the notations used in the method, analysis modules which check the system model according to the method rules and report generators to help create system documentation. The CASE tools may also include a code generator which automatically generates source code from the system model and some process guidance which gives advice to the software engineer on what to do next.

This type of CASE tool, aimed at supporting analysis and design, is sometimes called an upper-CASE tool because it supports early phases of the software process. By contrast, CASE tools which are designed to support implementation and testing such as debuggers, program analysis systems, test case generators and program editors are sometimes called lower-CASE tools.

Questions & Answers

communication techniques in software development
SANJANA Reply
👋👋👋
Aslam
what is communication techniques in software development
Aslam
hii
Ritika
hi
prabhu
who is Charles Babbage
Marvin Reply
how to do documents in the computer
Mark Reply
Kashmir
akmal
k
akmal
hello
Anil
Which of these are standards for assessing software processes
own Reply
hello teacher may I give me example of format of software
Aurianne
team a found 342 errors during the software engineering process prior to release. team b found 184 errors. what additional measures would have to be made for projects a and b to determine which of the teams eliminated errors more efficiently? what metrics would you propose to help in making the determination? what historical data might be useful?
Kaviya Reply
it's depend upon software testing and debugging
OMKAR
what is coding
Waswa Reply
programming languages is a coding it is also used software development, designing, modeling, etc..
OMKAR
presently I work as a computer engineering what course can I study in any computer institute to enable me promoting myself
Ichaba
AND here lot of course
OMKAR
How to calculate the basic salary of a payroll in Java coding?
Adjei Reply
ত্তচুরভহব
Parvez
hello
Bahadur
but we have tobe serious in k.dge.. what is the meaning of java coding if you are gineous you will answer me
Eyiba
hie
Mark
hi
Rana
Quids on software engineering
Enongene Reply
software testing practice
Prerana
Ho
Rang
definition of software
Baba Reply
define system ,concepts of system and types of system?
Gurmeet Reply
iom
ADNAN
hello
arsh
hari Paulus hai
Hari
System is the way of Execution or a set of principles to do something or any task is called System.
Ayesha
There are many infinite forms and Types of System in different fields as well.
Ayesha
TELL ME ABOUT MAINFRAME?
OMKAR
hi
Md
System is the way of Execution or a set of principles to do something or any task is called System.
Sazed
is very important software engineer or not.
Riyanshu Reply
very important
arsh
2d
Dv
hello
Md
what is software engineering
Ravindra Reply
Software engineering is a detailed study of engineering to the design, development and maintenance of software
arsh
what is salary of software engineer
Akash Reply
it depend on organization's and quality
josephat
I think average salary 80000us dollars per year
arsh
what are naturs of software Engineering
BANDARU Reply
what is the nature of saftware
BANDARU Reply
what is nature of sotfware
BANDARU
hi
khushboo
can anyone help me I need to learn
khushboo
code debug
khushboo
in eclipse java
khushboo
@janak can u suggest
khushboo
what is the salary of software engineer
Akash
per month
Akash
please tell me what is the salary of software engineer per monthe
Akash
HELLO ENGINEERS ✍
OMKAR
hello
Saurav
hi
YALAVARTHI
hello
Pravesh
natural of software is set of instructions
YALAVARTHI
what bro
YALAVARTHI

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play




Source:  OpenStax, Software engineering. OpenStax CNX. Jul 29, 2009 Download for free at http://cnx.org/content/col10790/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Software engineering' conversation and receive update notifications?

Ask