Introduction to Software Engineering
Somnuk Keretho, Assistant Professor
Department of Computer Engineering
Faculty of Engineering, Kasetsart University
Email: sk@nontri.ku.ac.th
URL: http://www.cpe.ku.ac.th/~sk
Somnuk Keretho/Kasetsart University
Outline of this presentation
•
•
•
•
•
•
Scope of Software Engineering
Object-Oriented Software Development
Software Process
Software Life-Cycle Models
Object Orientation
Software Quality Assessment
Reference to Chapter 1/2/3 of “Software Engineering with JAVA”, S.R. Schach, McGraw-Hill, 1997.
Somnuk Keretho/Kasetsart University
2
Scope of Software Engineering
• Software engineering is a discipline whose aim is the production of fault-free software, that
…show more content…
– Object-Oriented Paradigm
• An object is a unified software component that incorporates both data and actions that operate of those data.
Somnuk Keretho/Kasetsart University
10
Scope of Software Engineering
Structured Paradigm
Object-Oriented Paradigm
• Requirement Phase
• Specification (Analysis) Phase
• Requirement Phase
• Object-Oriented Analysis
Phase
• Planning Phase
• Object-Oriented Design Phase
• Object-Oriented
Programming Phase
• Integration Phase
• Maintenance Phase
• Retirement
• Planning Phase
• Design Phase
• Implementation Phase
• Integration Phase
• Maintenance Phase
• Retirement
Comparison of life cycles of structures paradigm and object-oriented paradigm.
Somnuk Keretho/Kasetsart University
11
Object-Oriented Software Development
• Three key words.
– Software
– Development
– Object Orientation
• Let us look at each in turn
Somnuk Keretho/Kasetsart University
12
Software
• Programs
• Documentation during the development of programs (e.g. specification)
• Primary aids for running the programs (e.g. user manuals)
• Secondary aids for running the programs (e.g. key boards overlays)
Software is not just programs!
Somnuk Keretho/Kasetsart University
13
Software Life Cycle
•
•
•
•
•
Software is like
“During the object-oriented analysis (OOA) phase object-modeling techniques are used to analyze the functional requirements for a system and create models which reflect the logical design of the system. During the object-oriented design (OOD) phase of the system, models are elaborated upon to include implementation specific details that show how the physical design of the system will come together. OOA focuses on what the system does (its static structure and behavior), OOD on how the system does it (its run-time implementation).”
Software engineering is a job that allows people to design and create software on systems that make computers perform tasks using mathematical skills, engineering computer science. Software is very important in our day to day life. You can find it in any electronic. My goal is to explain the history of software, what the future outlook of the career looks like, and will the career eventually be taken over by computers. I will also explain, what skills a person would need to pursue this career and what courses will people need to be taking for this career.
Purpose of this assignment: To demonstrate understanding of principles of software design, in relation to specific programming scenarios, and how these principles relate to the software development life cycle.
PURPOSE: People credited with this unit standard are able to: explain object-oriented computer program development techniques; and design, write, modify and test an object-oriented computer program.
In this first assignment, TWO software development methodologies will be examined using the first four laws given in the prescribed text.
(Aggarwal and Singh, 2005) described software as being more than a program as it constitute of not only a program code but also the operating procedures and the related documentation. Thus, we can explain the meaning of a software using the following equation:
INTRODUCTION: Software has been part of modern society for more than 50 years. The software process is the foundation for engineering software. Within the context of his book, Pressman defines “A software process as a framework for the tasks that are required to build high-quality software.” [1]. This paper introduces and discusses some of the Software methodologies and issues. METHODOLOGIES RELATED TO WEB DEVELOPMENT: In Software Engineering, a software development methodology is a division of software development work into different phases with the purpose of better planning and management. The methodologies may include pre-definition of
“Software engineering is like an art in that it begins with a problem and ends with the creation of a solution that solves it (Blum, p.9).” Engineers grew out of the ashes of the problems of the world. Software engineers deal with problems and maintenance in computer software. For a computer to find a solution to anything, programs have to be designed and written into the computer using models for the software process. Bernd Bruegge, in his presentation titled, Software Lifecycle Models, states “a software process represents all the phases needed to create a program, from the study of the goals leading to the objective, to the maintenance of said goals and how the phases relate to one another.” There are many different models used as guidelines to form the software process needed to create a program, but this paper will prove how the waterfall model performs the software process in the most reliable and user-friendly fashion. The waterfall model will be defined and then compared to the V-model, prototype model, and Boehm’s spiral model, with all aspects in relation to software engineering.
The modern programming is based on the concept that “program little and use more”. The object oriented programming languages are playing a vital role in the industry of development. The OOP introduced following concepts:
Ans: Object oriented programming organizes a program around its data,i.e.,objects and a set of well defined interfaces to that data.An object-oriented program can be characterized as data controlling access to code.
The Unified Process fits the wide-ranging definition of a process. It is nothing but a set of activities that a software team performs in order to renovate a set of customer requirements into a software system. Still, the Unified Process is also a generic process framework that people can adapt by adding and removing activities based on the specific requirements and existing resources for a project.
I feel great pleasure in submitting the project work entitled JAVA AND ITS APPLICATION to the department of Computer Science and Engineering, Amity University, Noida.
Object-Oriented Programming enables programmers to program by modeling the real world instead of defining the logic of how the world works. It focuses more on what makes up an object rather than what the object does. Programmers can focus on creating small components or objects, and group them together based on their relationships to build a larger object, which can be built upon again in future. The process of developing the paradigm consists the following steps: Encapsulation, Inheritance, Data Abstraction, and Polymorphism.
There are so many features of Object – Oriented Programing. Among all of them main features are ,
Object-oriented programming (OOP) and object-oriented design (OOD) refer to a particular way of organizing programs, one which is rapidly emerging as the preferred approach for building complex software systems (Morelli, R, 2000 pg. 5). Sommerville (2001) gave the following definitions: