Save
CS - Component 1
1.7 Software Engineering
Save
Share
Learn
Content
Leaderboard
Learn
Created by
Charlie Kelly
Visit profile
Cards (23)
Computer Aided Software Engineering (CASE)
A CASE tool is a software tool which provides a
number
of functions which
assist
with the
design
and
testing
of a computer system or program
Functions of a CASE tool
Provides a data
dictionary
Includes a
graphics
/ diagram
production
feature
A code
generator
May provide
repositories
of
reusable
code
May provide
project management
tool(s)
May incorporate
version control
May carry out
report generation
A
prototyping
tool
Upper CASE tools
Used to
support
during
analysis
Lower CASE tools
Used during
development
Analysis
and
planning
tools
Flow chart creators
, such as
Gliffy
Microsoft Visio
Integrated Development Environment
(
IDE
)
Has tools for
developing
and
debugging
programs
Debugger
A software tool used to
detect
,
locate
and correct
faults
in a program
Debugging
Tool Features (pt1)
Program
trace
/step-through/step-into
Break
point
Debugging Tool Features (pt2)
Variable
watch
Store
dump
Error
diagnostics
Application Generator
A software tool which is used to
assist
and
speed-up
the
creation
of a complete system
Application Generator Features
Provides a complete
environment
to
support
the programmer
May include source code
generator
,
compiler
, etc
Usually creates code
automatically
May include an interface
generator
May include a
debugger
Editor
Allows the programmer to
enter
and
edit
the high level
language
source code
Editor Features
May have features
unique
to the
language
being edited (eg:
indenting
, keyword
colours
,
search/replace
)
Version Management
An approach used to
track
and
save
source code throughout the software
development
process
Version Management Tools
Git
Mercurial
Version Management Types
Local
version control
Centralised
version control
Distributed
(
cloud-based
) version control
Version management tools create different
versions
(or
commits
) of source code to track
changes
and
development
Version management tools can be used to
roll-back
to a
previous
version if a program becomes
corrupt
or an
bug
is found during the development process
Version management tools allow code to be
reviewed
and
checked
before they committed to a
master
version
Using
cloud-based
distributed version control will ensure developers always have access to the most
up-to-date
versions of the source code
Distributed version control is
useful
when a software development team are working on
different
aspects of a
single
project
Version control is an
essential
for
maintaining
quality control and
assurance
in software development
Version control is
essential
for
tracking bugs
and
issues
in source code