programų kūrimo priemonės software development tools p175m025 4 semestas e.karčiauskas +...

16
Programų kūrimo priemonės Software Development Tools P175M025 4 semestas E.Karčiauskas + T.Blažauskas

Upload: helena-phillips

Post on 29-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programų kūrimo priemonės Software Development Tools P175M025 4 semestas E.Karčiauskas + T.Blažauskas

Programų kūrimo priemonės

Software Development Tools

P175M0254 semestas

E.Karčiauskas + T.Blažauskas

Page 2: Programų kūrimo priemonės Software Development Tools P175M025 4 semestas E.Karčiauskas + T.Blažauskas

Reikalavimų programoms sudarymo priemonės. Projektavimo ir programavimo įranga. Programų testavimo priemonės. Programų priežiūra. Programų kūrimo proceso priemonės. Programų kokybės priežiūra ir versijų kontrolė. Programų kūrimo vadyba. Pagalbinės programų priežiūros priemonės.

Page 3: Programų kūrimo priemonės Software Development Tools P175M025 4 semestas E.Karčiauskas + T.Blažauskas

A. Software Requirements ToolsB. Software Design ToolsC. Software Construction ToolsD. Software Testing ToolsE. Software Maintenance ToolsF. Software Engineering Process ToolsG. Software Quality ToolsH. Software Configuration Management ToolsI. Software Engineering

Management ToolsJ. Infrastructure support toolsK. Miscellaneous tool issues

Page 4: Programų kūrimo priemonės Software Development Tools P175M025 4 semestas E.Karčiauskas + T.Blažauskas

A. Software Requirements ToolsTools for dealing with software requirements have beenpartitioned into two topics: modeling and traceability. Morefine-grained partitioned would certainly be possible but thispartition was considered adequate based on the coverage oftools in the literature.Requirements modeling toolsTools used for eliciting, recording, analyzing and validatingsoftware requirements belong in this section.Traceability toolsRequirements traceability tools are becoming increasinglyimportant as the complexity of software systems grow, andsince traceability tools are relevant also in other lifecyclephases, they have been separated from the other tools forrequirements.

Page 5: Programų kūrimo priemonės Software Development Tools P175M025 4 semestas E.Karčiauskas + T.Blažauskas

B. Software Design Tools

This section covers tools for creating and checking

software designs. There is a variety of such tools, with

much of this variety being a consequence of the diversity of design notations and methods.

Page 6: Programų kūrimo priemonės Software Development Tools P175M025 4 semestas E.Karčiauskas + T.Blažauskas

C. Software Construction ToolsSoftware construction tools are concerned with theproduction and translation of the program representation(commonly known as source code) that is sufficientlydetailed and explicit to enable machine execution.Program editorsProgram editors are tools used for creation andmodification of programs (and possibly associateddocuments). These tools can be general-purpose text ordocument editors, or they can be specialized for a targetlanguage. Editing refers to human-controlled developmenttools.Compilers and code generatorsTraditionally, compilers have been non-interactivetranslators of source code but there has been a trend tointegrate compilers and program editors to provideintegrated programming environments. This topic alsocovers pre-processors, linker/loaders, and code generators.

Page 7: Programų kūrimo priemonės Software Development Tools P175M025 4 semestas E.Karčiauskas + T.Blažauskas

Interpreters

Interpreters provide software execution through emulation.They can support software construction activities byproviding a more controllable and observable environment for program execution.

Debuggers

Debugging tools have been made a separate topic since

they support the construction process but are different from

program editors or compilers.

Page 8: Programų kūrimo priemonės Software Development Tools P175M025 4 semestas E.Karčiauskas + T.Blažauskas

D. Software Testing ToolsTesting tools are categorized according to where in thetesting process they are used.Test generatorsTest generators assist the development of test cases.Test execution frameworksTest execution frameworks enable the execution of testcases in a controlled environment where the behavior of theobject under test is observed.Test evaluation toolsTest evaluation tools support the assessment of the resultsof test execution, helping to determine whether theobserved behavior conforms to the expected behavior.Test management toolsTest management tools provide support for managing allaspects of the testing process.Performance analysis tools

Page 9: Programų kūrimo priemonės Software Development Tools P175M025 4 semestas E.Karčiauskas + T.Blažauskas

E. Software Maintenance ToolsSoftware maintenance is often presented as additionaliterations of the development lifecycle and consequentlymakes use of tools for all other phases. This categoryencompasses tools that have particular importance insoftware maintenance where an existing system is beingmodified. Two categories are identified: comprehensiontools and re-engineering tools.Comprehension toolsThis topic concerns tools to assist human comprehension ofprograms. Examples include visualization tools such asanimators and program slicers.Re-engineering toolsRe-engineering tools allow translation of a program to anew programming language, or a database to a new format.Reverse engineering tools assist the process by workingbackwards from an existing product to create abstractartifacts such as design and specification descriptions,which then can be transformed to generate a new productfrom an old one.

Page 10: Programų kūrimo priemonės Software Development Tools P175M025 4 semestas E.Karčiauskas + T.Blažauskas

F. Software Engineering Process ToolsProcess modeling toolsThis topic covers tools to model and investigate softwareprocesses.Process management toolsIntegrated CASE environmentsComputer-aided software engineering tools orenvironments that cover multiple phases of the softwaredevelopment lifecycle belong in this section. Such toolsperform multiple functions and hence potentially interactwith the software process that is being enacted.Process-centered software engineering environmentsThis topic covers those environments that explicitlyincorporate software process information and that guideand monitor the user according to a defined process.

Page 11: Programų kūrimo priemonės Software Development Tools P175M025 4 semestas E.Karčiauskas + T.Blažauskas

G. Software Quality Tools

Inspection tools

This topic covers tools to support reviews and inspections.

Static analysis tools

This topic deals with tools that analyze software artifacts,

such as syntactic and semantic analyzers, and data, control flow and dependency analyzers. Such tools are intended for checking software artifacts for conformance or for verifying desired properties.

Page 12: Programų kūrimo priemonės Software Development Tools P175M025 4 semestas E.Karčiauskas + T.Blažauskas

H. Software Configuration Management ToolsTools for configuration management have been categorizedas related to tracking issues associated with a particularsoftware product, management of multiple versions of aproduct or to managing the task of software release andbuild.Defect, enhancement, issue and problem tracking toolsVersion management toolsRelease and build toolsThis category includes installation tools that have becomewidely used for configuring the installation of softwareproducts.

Page 13: Programų kūrimo priemonės Software Development Tools P175M025 4 semestas E.Karčiauskas + T.Blažauskas

I. Software Engineering Management Tools

Management tools are subdivided into three categories:

project planning and tracking, risk management, and measurement.

Project planning and tracking tools

Risk management tools

Measurement tools

Page 14: Programų kūrimo priemonės Software Development Tools P175M025 4 semestas E.Karčiauskas + T.Blažauskas

J. Infrastructure support toolsThis section covers tools that provide interpersonalcommunication, information retrieval, and systemadministration and support.

These tools, such as e-mail, databases, web browsers and file backup tools, are generally not specific to a particular lifecycle stage, nor to a particular development method.Interpersonal communication toolsInformation retrieval toolsSystem administration and support tools

Page 15: Programų kūrimo priemonės Software Development Tools P175M025 4 semestas E.Karčiauskas + T.Blažauskas

K. Miscellaneous tool issuesThis section covers issues that are applicable to all classesof tools. Three categories are identified: tool integrationtechniques, meta-tools and tool evaluation.Tool integration techniquesTool integration is important for making individual toolscooperate. This category potentially overlaps withintegrated software engineering environments whereintegration techniques are applied, but it was felt that thistopic is sufficiently distinct to merit its own category. Thetypical kinds of tool integration are platform, presentation,process, data, and control.Meta toolsMeta-tools generate other tools; compiler-compilers are theclassic example.

Page 16: Programų kūrimo priemonės Software Development Tools P175M025 4 semestas E.Karčiauskas + T.Blažauskas

1 Sumodeliuoti reikalavimų surinkimo ir valdymo uždavinį su pasirinkta reikalavimų valdymo sistema

2 Pasirinkti, išbandyti ir išspręsti praktinį ar demo uždavinį, pradedant nuo UML diagramų iki kodo generavimo

pasikeitus užduotimis atlikti reversinį generavimą..

Priemonės : Rational Rose, UML Studio, MagicDraw, …

3. Pasirinkti programų konstravimo aplinkas: tai Eifel, C++, C#, JAVA, VB, …

Reikia aprašyti įvairias tų aplinkų savybes editoriaus, debugerio, projekto valdymo atvejais.

4. Pasirinktinai surasti ir išbandyti po 2 įrankius, skirtus testavimui, versijų valdymui, planavmui, kaštų įvertinimui ir t.t.