Software Engineering

Inginerie Software
1


Notiunea de inginerie software (sau
ingineria programarii) a fost introdusa in
1968 la o conferinta la care s-a discutat
despre ‘criza software’, rezultata in urma
primelor incercari de dezvoltare a unor
sisteme software de dimensiuni netriviale.
Dupa aproape 40 ani insa, se pare ca criza
software exista inca...
2



Ingineria software este disciplina
inginereasca care se ocupa cu studiul si
aplicarea de abordari sistematice, disciplinate si
cuantificabile in dezvoltarea, intretinerea si
operarea sistemelor software [IEEE93a].
Aceasta disciplina se ocupa in special cu
dezvoltarea de sisteme software de
dimensiuni mari.
Pentru dezvoltarea sistemelor software de
dimensiuni mari sunt necesare tehnici, metode
si instrumente specifice.
3
Referinte principale
[Som06] I. Sommerville. Software Engineering,
(8th edition). Addison-Wesley, 2006.
http://www.comp.lancs.ac.uk/computing/res
ources/IanS/SE8/index.html
[LL05] T. Lethbridge and R. Laganiere. ObjectOriented Software Engineering (2nd edition).
McGraw-Hill, 2005. http://www.lloseng.com
[Crr99] E. Currie. The Essence of Z. Prentice
Hall, 1999.
4
Bibliografie
[BW90] J.C. Baeten, W.P. Weijland. Process
algebra. Cambridge University Press, 1990.
[Bec99] K. Beck. Embracing Change with
Extreme Programming. IEEE Computer
32(10):70-78, 1999.
[Bel05] D. Bell. Software Engineering for
Students (4th edition). Addison-Wesley, 2005.
5
Bibliografie
[Boe79] B. Boehm. Software engineering; R &
D trends and defense needs. In Research
Directions in Software Technology, pages 1-9,
MIT Press, 1979.
[Boe84] B.W. Boehm, et al. Prototyping versus
specifying: a multi-project experiment. IEEE
Transactions on Software Engineering, SE10(3), 290-303.
[Boe88] B. Boehm. A spiral model of software
development and enhancement. IEEE
Computer, 21(5):61-72, 1988.
6
Bibliografie
[BB99] W. Boggs, M. Boggs. Mastering UML
with Rational Rose (1st edition), Sybex, 1999.
[BB02] W. Boggs, M. Boggs. Mastering UML
with Rational Rose (2st edition), Sybex, 2002.
[BD05] B. Breugge, A. Dutoit. Object-Oriented
Software Engineering: using UML, Patterns
and Java. Addison-Wesley, 2005.
7
Bibliografie
[Boo94] G. Booch. Object Oriented Analysis and
Design (2nd edition). Benjamin Cummings,
1994.
[BRJ99] G. Booch, J. Rumbaugh and I.
Jacobson. The Unified Modeling Language
User Guide. Addison-Wesley, 1999.
[Coc01] A. Cockburn. Agile software
development. Addison-Wesley, 2001.
[CF58] H. Curry, R. Feys. Combinatory logic.
North Holland, 1958.
8
Bibliografie
[Crr99] E. Currie. The Essence of Z.
Prentice Hall, 1999.
[CY91a] P. Coad, E. Yourdon. ObjectOriented Analysis (2nd edition).
Prentice-Hall, 1991.
[CY91b] P. Coad, E. Yourdon. ObjectOriented Design (2nd edition). PrenticeHall, 1991.
9
Bibliografie
[Dav95] A. Davis. 201 Principles of
Software Development. McGraw-Hill,
1995.
[DP94] A. Davis, P. Pitaram. A concurrent
process model for software
development. Software Engineering
Notes, ACM Press, 19(2):38-51, 1994.
10
Bibliografie
[Dij65] E. Dijkstra. Programming considered as a
human activity. In Proc. 1965 IFIP Congress, NorthHolland, 1965.
[Dij72] E. Dijkstra, et al. Structured programming.
London: Academic Press, 1972.
[Dij76] E. Dijkstra. Structured programming. In
Software Engineering Concepts and Techniques, J.
Buxton et. all (eds.), Van Nostrand Reinhold, 1976.
[Dye92] M. Dyer. The Cleanroom Approach to Quality
Software Development. Wiley, 1992.
11
Bibliografie
[EM85] H. Ehrig and B. Mahr. Fundamentals of Algebraic
Specification, part 1. Springer, 1985.
[EM90] H. Ehrig and B. Mahr. Fundamentals of Algebraic
Specification, part 2. Springer, 1990.
[EP99] H.-E. Eriksson, M. Penker. UML toolkit. Wiley,
1999.
[Gra02] M. Grand. Patterns in Java: a catalog of
reusable design patterns illustrated with UML. Wiley,
2002.
[HSM95] E. Horowitz, S. Sahni, D. Mehta.
Fundamentals of data structures in C++. Freeman &
Comp., 1995.
12
Bibliografie
[IEEE93a] IEEE Standards Collection: Software
Engineering. IEEE Standard 610.12-1990,
IEEE, 1993.
[IEEE93b] IEEE recommended practice for
software requirements specifications.
Software Engineering Requirements
Engineering, R.H. Thayer, M. Dorfman,
editors, Los Alamitos, CA: IEEE Computer
Society Press.
13
Bibliografie
[Jac97] J. Jacky. The Way of Z: Practical
Programming with Formal Methods.
Cambridge University Press, 1997.
[Jac92] I. Jacobson. Object-Oriented Software
Engineering. Addison-Wesley, 1992.
[JBR99] I. Jacobson, G. Booch and J.
Rumbaugh. The Unified Software
Development Process. Addison-Wesley, 1999.
14
Bibliografie
[KA90] S. Khosafian, R. Abnous. Object Orientation –
Concepts, Languages, Databases and User
Interfaces. John Wiley & Sons, 1990.
[KS96] G. Katonya, I. Sommerville. Requirements
engineering with viewpoints. BCS/IEEE Software
Engineering J., 11(1):5-18, 1996.
[Kru03] P. Kruchten. The Rational Unified Process: An
Introduction (3rd edition). Addison-Wesley, 2003.
[LL05] T. Lethbridge and R. Laganiere. Object-Oriented
Software Engineering (2nd edition). McGraw-Hill,
2005.
15
Bibliografie
[Mar79] T. DeMarco. Structured Analysis and
System Specification. Prentice-Hall, 1979.
[MCC76] T. McCabe. A software complexity
measure. IEEE Trans. Software Engineering,
2:308-320, 1976.
[MDL87] H. Mills, M. Dyer and R. Linger.
Cleanroom Software Engineering. IEEE
Software, 4(5): 19-24, 1987.
[Mil89] R. Milner. Communication and
Concurrency. Prentice-Hall, 1989.
16
Bibliografie
[Mit96] J.C. Mitchell. Foundations for
programming languages. MIT Press, 1996.
[Mul79] G. Mullery. CORE – a method for
controlled requirements specification. In Proc.
4th Int. Conf. On Software Engineering, IEEE
Press, 1979.
[Mur96] T. Muresan. Software Engineering –
lecture notes. TUCN, 1996.
[Mye79] G. Myers. The Art of Software Testing.
Wiley, 1979.
17
Bibliografie
[PF02] S.R. Palmer, J.M. Felsing. A Practical Guide to
Feature-Driven Development. Prentice Hall, 2002.
[PJH99] S. Peyton-Jones, R.J.M. Hughes (eds). Report
on the programming language Haskell 98. Available
at http://www.haskell.org, 1999.
[Pre97] R. Pressman. Software Engineering: A
Practitioner's Approach, (4th edition). McGraw-Hill,
1997.
[Pre00] R. Pressman. Software Engineering: A
Practitioner's Approach, (5th edition). McGraw-Hill,
2000.
18
Bibliografie
[RL99] F. Rabhi, G. Lapalme. Algorithms: a
functional programming approach. AddisonWesley, 1999.
[Roy70] W. Royce. Managing the development
of large software systems: concepts and
techniques. In Proc. IEEE WESTCON, 1970.
[Rum91] J. Rumbaugh, et al. Object-Oriented
Modeling and Design. Prentice-Hall, 1991.
19
Bibliografie
[She94] W. Sheleg. Concurrent Engineering: A New
Paradigm for C/S Development. Application
Development Trends, 1(6):28-33, 1994.
[Spi92] J.M. Spivey. The Z Notation: A Reference
Manual. Prentice-Hall, 1992.
[Sch02] S. Schach. Object-Oriented and Classical
Software Engineering (5th edition). McGraw-Hill,
2002.
[SB01] K. Schwaber, M. Beedle. Agile software
development with SCRUM. Prentice Hall, 2001.
20
Bibliografie
[SG96] M. Shaw and D. Garlan. Software Architecture.
Prentice-Hall, 1996.
[Som89] I. Sommerville. Software Engineering, (3rd
edition). Addison-Wesley, 1989.
[Som01] I. Sommerville. Software Engineering, (6th
edition). Addison-Wesley, 2001.
[Som04] I. Sommerville. Software Engineering, (7th
edition). Addison-Wesley, 2004.
[Som06] I. Sommerville. Software Engineering, (8th
edition). Addison-Wesley, 2006.
[Sta97] J. Stapleton. DSDM Dynamic Systems
Development Method. Addison-Wesley, 1997.
21
Bibliografie
[Tay59] E.S. Taylor. An interim report on
engineering design. Massachusetts Institute
of Technology, Cambridge, 1959.
[Wir76] N. Wirth. Systematic programming: an
introduction. Prentice-Hall, 1976.
[WWW90] R. Wirfs-Brock, B. Wilkerson, L.
Weiner. Designing Object-Oriented Software.
Prentice-Hall, 1990.
22
Bibliografie
[Wor96] J. Wordsworth. Software Engineering
with B. Addison-Wesley, 1996.
[You01] E. Yourdon. Modern Structured
Analysis. (2nd edition) Prentice-Hall, 2001.
[YC79] E. Yourdon and L. Constantine.
Structured design. Prentice-Hall, 1979.
[Zav89] P. Zave. A compositional approach to
multiparadigm programming. IEEE Software,
6(5), 15-27, 1989.
23