Download presentation
Presentation is loading. Please wait.
Published byFrancis Heath Modified over 9 years ago
1
Software Engineering Lecture 1 Vladimir Safonov, Professor, head of laboratory St. Petersburg University Email: v_o_safonov@mail.ru WWW: http://user.rol.ru/~vsafonov
2
(C) Vladimir O. Safonov, 20042 References 1.Sommerville I. Software Engineering. – Sixth Edition, Addison- Wesley, 2001. 2.Brooks, F. P., Jr. The Mythical Man-Month. – 1975 / 2000. 3.Myers G. Software Reliability.- 1975. 4.Myers G. The Art of Software Testing. – 1974. 5.Ziegler C. Programming System Methodologies. – Prentice Hall, 1983. 6.Kit, E. Software Testing in the Real World. – Addison-Wesley, 1995 7.The Capability Maturity Model. – CMU SEI, Addison-Wesley, 1994 8.Requirements and specifications in software development. – Moscow.: World Publishers, 1984. 9.Data in programming languages. – Moscow.: World Publishers, 1982. 10.Mathematical logic in programming. – Moscow.: World Publishers, 1985.
3
(C) Vladimir O. Safonov, 20043 U.S.S.R. / Russian classicists of software engineering Andrey P. Ershov – programming methodology; the “lexicon” of programming; “mixed” computations E. Tougu (Estonia) – academician of the Estonian Acad. Sci. - authomated program synthesis; PRIZ and NUT systems. S. S. Lavrov, corresp. member of Russian Acad. Sci. - automated program synthesis and specifications; the SPORA system. A. V. Zamulin (Novosibirsk) – abstract data types; the ATLANT language. V.V. Lipayev (Moscow) – the head of a big company majored in large embedded software systems development. J. M. Barzdin (Latviya) – inductive program synthesis (by examples). A. L. Fouxman (Rostov-on-Don) – automated program synthesis; the technology of vertical cuts (the predecessor of AOP).
4
(C) Vladimir O. Safonov, 20044 Evolution of software and viewpoints to software development 1960s – 1970s: “factory of software products” (naïve view on software development) Programming as a creative activity Mathematical methods are not 100% suitable for program specification and verification Very few programs are formally specified and verified
5
(C) Vladimir O. Safonov, 20045 Some state-of-the-art classes of programs Client – server systems Internet applications Integrated solutions Embedded systems Mobile intelligent devices software Wearable computers software
6
(C) Vladimir O. Safonov, 20046 Specifics of large programming systems of XXI century Internet / Intranet awareness Universal model (UML) and data (XML) representation Enhanced security and reliability requirements Integrating a variety of languages, programming systems, databases, knowledge bases and networking tools into the unique infrastructure Designing and developing reusable programming components
7
(C) Vladimir O. Safonov, 20047 State-of-the-art software development platforms Java (Sun Microsystems, 1995) – a software development platform based on the Java object- oriented language, compiled into Java bytecode (proprietary standards of Sun) NET (ECMA; Microsoft, 2000) – object-oriented multi-language platform with the common intermediate language (CIL / MS IL) and the common data representation based on XML (international standards by ECMA). C# is the most comfortable language for.NET but not the only one and not mandatory
8
(C) Vladimir O. Safonov, 20048 Qualities and properties of software products Workability User-friendly interface Reliability Security Reusability and component-based programming Modularity Efficiency (criteria?!) Portability Readability and maintainability
9
(C) Vladimir O. Safonov, 20049 Elements of software technologies Concepts Software tools Software process
10
(C) Vladimir O. Safonov, 200410 Software lifecycle general scheme Requirements & goals Specification Design Implementation Testing Maintenance Manufacturing, releases, maintenance (sustaining) – inherent parts of software product
11
(C) Vladimir O. Safonov, 200411 Rapid prototyping Requirements and goals Prototype specification Prototype design Prototype implementation Prototype testing Prototype submittal to the customer Iteration-based prototype improvement
12
(C) Vladimir O. Safonov, 200412 Home task to lecture 1 Analysis of state-of-the-art approaches to software engineering : Object-Oriented Programming Aspect-Oriented Programming Generative Programming Meta-programming Adaptive Programming Design by Contract Functional Programming Logic Programming
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.