Software Engineering Lecture 1 Vladimir Safonov, Professor, head of laboratory St. Petersburg University WWW:

Slides:



Advertisements
Similar presentations
1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
Advertisements

CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &
Systems Development Environment
CS 501: Software Engineering Fall 2000 Lecture 2 The Software Process.
CS3773 Software Engineering Lecture 01 Introduction.
Visual and Internet Programming using JAVA
COP th Lecture September 26, 2005 COP 4009 Component-Based Software Engineering Fall 2005 Instructor: Masoud Sadjadi
Reseach in DistriNet (department of computer science, K.U.Leuven) General overview and focus on embedded systems task-force.
Chapter 1 The Systems Development Environment
Chapter 17: Client/Server Computing Business Data Communications, 4e.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
For more Lectures and Notes Visit
1 CSC-3324: Chapter 4 Title: What is a requirement? Mandatory reading: Sommerville 6, 7 th ed., Chap.: 7.
 2002 Prentice Hall. All rights reserved. Week 1 - Introduction to Object- Oriented Programming Outline 1.1 Machine Languages, Assembly Languages and.
© Prentice Hall CHAPTER 3 Computer Software.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Introduction to Systems Analysis and Design
L EC. 01: J AVA FUNDAMENTALS Fall Java Programming.
Software Engineering EE323 Y.F. Fung Office: CF605 Consultation hours: Wednesday 6pm-7:30pm.
 2003 Prentice Hall, Inc. All rights reserved. Chapter 1 – Introduction to Computers, the Internet, and the Web Outline 1.1 Introduction 1.2 What Is a.
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Program development & programming languages Chapter 13.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Introduction to Software Engineering CEN 4010.
INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University Software: Definitions,
PZ01A Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ01A -- Introduction Programming Language Design and.
CSCI 224 Introduction to Java Programming. Course Objectives  Learn the Java programming language: Syntax, Idioms Patterns, Styles  Become comfortable.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
CSI315 Web Applications and Technology Overview of Systems Development (342)
ISYS 512 Business Application Design and Development with.Net David Chao.
Chapter 1 The Systems Development Environment
Copyright © 2001 Espial Group Inc. All rights reserved. Evolution of the Pervasive Internet Ella Mar VP Operations Dilshan De Silva Director, Product Development.
 2003 Prentice Hall, Inc. All rights reserved. 1 Java Training Course Dr. H.E. Dunsmore Purdue University Java – How to Program, Deitel (5 th Edition)
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
Introduction to System Analysis and Design (Definition of System & information system components) - Dr. Mahmoud Abu-Arra - Dr. Mahmoud Abu-Arra - Mr. Ahmad.
4 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 1 Introduction to Java in the Context of Software Engineering.
Project Coordinators: Eduardo Santana de Almeida Silvio Romero de Lemos Meira Federal University of Pernambuco Informatics Center Recife Center for Advanced.
Introduction to Java August 14, 2008 Mrs. C. Furman.
Software Life-Cycle Models Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University
 2002 Prentice Hall. All rights reserved. Chapter 1 – Introduction to Computers, the Internet, and the Web Outline 1.1 Introduction 1.2 What Is a Computer?
Content The system development life cycle
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering Foundations.
 Programming Language  Object Oriented Programming  JAVA – An Introduction  JAVA Milestones  JAVA Features.
JAVA Programming “When you are willing to make sacrifices for a great cause, you will never be alone.” Instructor: รัฐภูมิ เถื่อนถนอม
Software Engineering Lecture 6 Vladimir Safonov, Professor, head of laboratory St. Petersburg University WWW:
Software Engineering Lecture 2 Vladimir Safonov, Professor, head of laboratory St. Petersburg University WWW:
UNIT-1 SOFTWARE PRODUCT AND PROCESS: Introduction – S/W Engineering paradigm – Verification – Validation – Life cycle models – System engineering –
Chapter 2 Object-Oriented Paradigm Overview. Getting Acquainted with the Class Project Read the requirements specification carefully Make note of any.
PC204 Lecture 5 Programming Methodologies Copyright 2000 by Conrad Huang and the Regents of the University of California. All rights reserved.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Chapter 1 © 2013 Pearson Education, Inc. Publishing as Prentice Hall Chapter 1: The Database Environment and Development Process (Contd..) Modern Database.
Introduction to JAVA Programming
Software Engineering Lecture 4 Vladimir Safonov, Professor, head of laboratory St. Petersburg University WWW:
Chapter 8 Environments, Alternatives, and Decisions.
Software Engineering Lecture 7
Software Engineering Lecture 8
Chapter 1 – Introduction to Computers, the Internet, and the Web
Computer Software Lecture 5.
Rapid Application Development Model
Introduction To software engineering
강의 내용 및 방법 접근방법 리포트 시험 Lambda Calculus, Proof of Correctness
Chapter 1 – Introduction to Computers, the Internet, and the Web
Introduction to Computers, Internet and the World Wide Web
Outcome of the Lecture Upon completion of this lecture you will be able to understand Fundamentals and Characteristics of Java Language Basic Terminology.
Presentation transcript:

Software Engineering Lecture 1 Vladimir Safonov, Professor, head of laboratory St. Petersburg University WWW:

(C) Vladimir O. Safonov, References 1.Sommerville I. Software Engineering. – Sixth Edition, Addison- Wesley, Brooks, F. P., Jr. The Mythical Man-Month. – 1975 / Myers G. Software Reliability Myers G. The Art of Software Testing. – Ziegler C. Programming System Methodologies. – Prentice Hall, Kit, E. Software Testing in the Real World. – Addison-Wesley, The Capability Maturity Model. – CMU SEI, Addison-Wesley, Requirements and specifications in software development. – Moscow.: World Publishers, Data in programming languages. – Moscow.: World Publishers, Mathematical logic in programming. – Moscow.: World Publishers, 1985.

(C) Vladimir O. Safonov, 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).

(C) Vladimir O. Safonov, 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

(C) Vladimir O. Safonov, Some state-of-the-art classes of programs Client – server systems Internet applications Integrated solutions Embedded systems Mobile intelligent devices software Wearable computers software

(C) Vladimir O. Safonov, 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

(C) Vladimir O. Safonov, 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

(C) Vladimir O. Safonov, Qualities and properties of software products Workability User-friendly interface Reliability Security Reusability and component-based programming Modularity Efficiency (criteria?!) Portability Readability and maintainability

(C) Vladimir O. Safonov, Elements of software technologies Concepts Software tools Software process

(C) Vladimir O. Safonov, Software lifecycle general scheme Requirements & goals Specification Design Implementation Testing Maintenance Manufacturing, releases, maintenance (sustaining) – inherent parts of software product

(C) Vladimir O. Safonov, Rapid prototyping Requirements and goals Prototype specification Prototype design Prototype implementation Prototype testing Prototype submittal to the customer Iteration-based prototype improvement

(C) Vladimir O. Safonov, 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