Está en la página 1de 4

Computer-aided software engineering[edit]

Computer-aided software engineering (CASE), in the field software engineering is the


scientific application of a set of tools and methods to a software which results in high-
quality, defect-free, and maintainale software products!["#] $t also refers to methods for
the de%elopment of information systems together with automated tools that can e used
in the software de%elopment process![""] &he term 'computer-aided software
engineering' (CASE) can refer to the software used for the automated de%elopment of
systems software, i!e!, computer code! &he CASE functions include analysis, design,
and programming! CASE tools automate methods for designing, documenting, and
producing structured computer code in the desired programming language!["(]
&wo )ey ideas of Computer-aided Software System Engineering (CASE) are*["+]
,oster computer assistance in software de%elopment and or software maintenance
processes, and
An engineering approach to software de%elopment and or maintenance!
&ypical CASE tools e-ist for configuration management, data modeling, model
transformation, refactoring, source code generation, and .nified /odeling 0anguage!
$ntegrated de%elopment en%ironment[edit]
An1uta, a C and C22 $3E for the 456/E en%ironment
An integrated de%elopment en%ironment ($3E) also )nown as integrated design
en%ironment or integrated deugging en%ironment is a software application that pro%ides
comprehensi%e facilities to computer programmers for software de%elopment! An $3E
normally consists of a*
source code editor,
compiler and7or interpreter,
uild automation tools, and
deugger (usually)!
$3Es are designed to ma-imi8e programmer producti%ity y pro%iding tight-)nit
components with similar user interfaces! &ypically an $3E is dedicated to a specific
programming language, so as to pro%ide a feature set which most closely matches the
programming paradigms of the language!
/odeling language[edit]
A modeling language is any artificial language that can e used to e-press information or
)nowledge or systems in a structure that is defined y a consistent set of rules! &he
rules are used for interpretation of the meaning of components in the structure! A
modeling language can e graphical or te-tual!["9] 4raphical modeling languages use a
diagram techniques with named symols that represent concepts and lines that connect
the symols and that represent relationships and %arious other graphical annotation to
represent constraints! &e-tual modeling languages typically use standardised )eywords
accompanied y parameters to ma)e computer-interpretale e-pressions!
E-ample of graphical modelling languages in the field of software engineering are*
:usiness ;rocess /odeling 5otation (:;/5, and the </0 form :;/0) is an e-ample of
a process modeling language!
E<;=ESS and E<;=ESS-4 ($S6 "#+#+-"") is an international standard general-
purpose data modeling language!
E-tended Enterprise /odeling 0anguage (EE/0) is commonly used for usiness
process modeling across layers!
,lowchart is a schematic representation of an algorithm or a stepwise process,
,undamental /odeling Concepts (,/C) modeling language for software-intensi%e
systems!
$3E, is a family of modeling languages, the most notale of which include $3E,# for
functional modeling, $3E,"< for information modeling, and $3E,> for modeling
ontologies!
0e;.S+ is an o1ect-oriented %isual 3esign 3escription 0anguage and a formal
specification language that is suitale primarily for modelling large o1ect-oriented (?a%a,
C22, C@) programs and design patterns!
Specification and 3escription 0anguage(S30) is a specification language targeted at the
unamiguous specification and description of the eha%iour of reacti%e and distriuted
systems!
.nified /odeling 0anguage (./0) is a general-purpose modeling language that is an
industry standard for specifying software-intensi%e systems! ./0 (!#, the current
%ersion, supports thirteen different diagram techniques, and has widespread tool
support!
5ot all modeling languages are e-ecutale, and for those that are, using them doesnAt
necessarily mean that programmers are no longer needed! 6n the contrary, e-ecutale
modeling languages are intended to amplify the producti%ity of s)illed programmers, so
that they can address more difficult prolems, such as parallel computing and distriuted
systems!
;rogramming paradigm[edit]
A programming paradigm is a fundamental style of computer programming, in contrast to
a software engineering methodology, which is a style of sol%ing specific software
engineering prolems! ;aradigms differ in the concepts and astractions used to
represent the elements of a program (such as o1ects, functions, %ariales,
constraints!!!) and the steps that comprise a computation (assignations, e%aluation,
continuations, data flows!!!)!
A programming language can support multiple paradigms! ,or e-ample programs written
in C22 or 61ect ;ascal can e purely procedural, or purely o1ect-oriented, or contain
elements of oth paradigms! Software designers and programmers decide how to use
those paradigm elements! $n o1ect-oriented programming, programmers can thin) of a
program as a collection of interacting o1ects, while in functional programming a program
can e thought of as a sequence of stateless function e%aluations! Bhen programming
computers or systems with many processors, process-oriented programming allows
programmers to thin) aout applications as sets of concurrent processes acting upon
logically shared data structures!
?ust as different groups in software engineering ad%ocate different methodologies,
different programming languages ad%ocate different programming paradigms! Some
languages are designed to support one paradigm (Smalltal) supports o1ect-oriented
programming, Cas)ell supports functional programming), while other programming
languages support multiple paradigms (such as 61ect ;ascal, C22, C@, Disual :asic,
Common 0isp, Scheme, ;ython, =uy, and 68)!
/any programming paradigms are as well )nown for what methods they forid as for
what they enale! ,or instance, pure functional programming forids using side-effectsE
structured programming forids using goto statements! ;artly for this reason, new
paradigms are often regarded as doctrinaire or o%erly rigid y those accustomed to
earlier styles![citation needed] A%oiding certain methods can ma)e it easier to pro%e
theorems aout a programAs correctness, or simply to understand its eha%ior!
Software framewor)[edit]
A software framewor) is a re-usale design for a software system or susystem! A
software framewor) may include support programs, code liraries, a scripting language,
or other software to help de%elop and glue together the different components of a
software pro1ect! Darious parts of the framewor) may e e-posed %ia an A;$!
Software de%elopment process[edit]
A software de%elopment process is a framewor) imposed on the de%elopment of a
software product! Synonyms include software life cycle and software process! &here are
se%eral models for such processes, each descriing approaches to a %ariety of software
de%elopment process methodologies! /any of them are in the defense industry, which in
the .!S! requires a rating ased on Aprocess modelsA to otain contracts! &he
international standard descriing the method to select, implement and monitor the life
cycle for software is $S67$EC "((#F!
A decades-long goal has een to find repeatale, predictale processes that impro%e
producti%ity and quality! Some try to systemati8e or formali8e the seemingly unruly tas)
of writing software! 6thers apply pro1ect management methods to writing software!
Bithout pro1ect management, software pro1ects can easily e deli%ered late or o%er
udget! Bith large numers of software pro1ects not meeting their e-pectations in terms
of functionality, cost, or deli%ery schedule, effecti%e pro1ect management appears to e
lac)ing!

También podría gustarte