Software Engineering EKT 420 MOHAMED ELSHAIKH 0175171894 KKF 8A – room 4.

Slides:



Advertisements
Similar presentations
What is Software Engineering? And why is it so hard?
Advertisements

Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
7M822 Software Engineering Introduction 7 September 2010.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Software Engineering COMP 201
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Modified from Sommerville’s slidesSoftware Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
SE 112 Slide 1 SE 112 l
An Introduction to Software Engineering
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 System and Software Engineering.
1 Software Engineering CEN5035 copyright © 1996, 2001 R.S. Pressman & Associates, Inc.
Chapter 1: Software and Software Engineering
CSI315 Web Applications and Technology Overview of Systems Development (342)
Introduction to Software Engineering. Topic Covered What is software? Attribute of good S/w? Computer Software? What is Software Engineering? Evolving.
Software Engineering Methodologies (Introduction)
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
SOFTWARE ENGINEERING Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
UNIVERSITI TENAGA NASIONAL “Generates Professionals” CHAPTER 4 : Part 1 INTRODUCTION TO SOFTWARE DEVELOPMENT: SYSTEM ANALYSIS & DESIGN.
Software EngineeringIntroduction Slide 1 Software Engineering Mr. Ahmad Al-Ghoul.
Software Engineering DKT311 ROHANI BINTI S MOHAMED FAROOK MOHAMED ELSHAIKH KKF 8A – room 4.
1 An Introduction to Software Engineering. 2 Objectives l To introduce software engineering and to explain its importance l To set out the answers to.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 Software Engineering The first lecture.
Introduction to Software Engineering
2-Oct-15 1 Introduction to Software Engineering Softwares Importance of SWE Basic SWE Concepts ICS Software Engineering.
2-Oct-15 Introduction to SWE1 Introduction to Software Engineering Softwares Importance of SWE Basic SWE Concepts.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
Lecture 1Software Engineering1 (Trimester I Session 2002/2003) Lecturer / Tutor Name : Mr. R. Logeswaran
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
An Introduction to Software Engineering. What is Software?
Chapter 1: Introduction Omar Meqdadi SE 2730 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
10/23/2015CPSC , CPSC , Lecture 141 Software Engineering, CPSC , CPSC , Lecture 14.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 1 Slide 1 Chapter 1 Introduction.
Lecture 1 The University of Lahore Software Engineering Saeed Akhtar
Software Engineering, COMP201 Slide 1 Introduction to software engineering Lecture 1.
1 Software Engineering Ian Sommerville th edition Instructor: Mrs. Eman ElAjrami University Of Palestine.
Introduction to Software Engineering. Why SE? Software crisis manifested itself in several ways [1]: ◦ Project running over-time. ◦ Project running over-budget.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering 1.
An Introduction to Software Engineering Support Lecture.
Software Engineering - Abdul Majeed. What is software? Definition of Software Engineering Software Process Generic view of Software Engineering Software.
An Introduction to Software Engineering (Chapter 1 from the textbook)
1 Software Engineering, 8th edition. Chapter 1 Jan 28 th, 2009 Lecture # 1 Courtesy: ©Ian Sommerville 2006 An Introduction to Software Engineering.
An Introduction to Software Engineering. Objectives  To introduce software engineering and to explain its importance  To set out the answers to key.
IS444: Modern tools for applications development Dr. Azeddine Chikh.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Figures – Chapter 1. Figure 1.1 Frequently asked questions about software engineering QuestionAnswer What is software?Computer programs and associated.
Introduction to Software Engineering Syed Salman Ali B.E, MBA ( MIS, Mktg), PMP.
Object-Oriented Software Engineering Chapter 1 Software and Software Engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 1 Slide 1 Chapter 1 Introduction As modified by Randy Smith.
Software Engineering Introduction Slide 1 Software Engineering Introduction.
L ECTURE 1 Introduction Getting started with software engineering.
Software Engineering Session 2007/2008 Semester 1 Universiti Malaysia Perlis.
Software Engineering Session 2008/2009 Semester 1 University Malaysia Perlis Lecture 1.
INTRODUCTION CSE 470 : Software Engineering. Goals of Software Engineering To produce software that is absolutely correct. To produce software with minimum.
Chapter 1: Software and Software Engineering The Nature of Software... Software is intangible  Hard to understand development effort Software.
CompSci 280 S Introduction to Software Development
An Introduction to Software Engineering
Chapter 1- Introduction
MISY 301 Mr.Mohammed Rafeeque.
An Introduction to Software Engineering
CS385T Software Engineering Dr.Doaa Sami
Chapter 1: Software and Software Engineering
Chapter 1: Software and Software Engineering
Presentation transcript:

Software Engineering EKT 420 MOHAMED ELSHAIKH KKF 8A – room 4

Course overview  Lectures 60% Two lectures per week (3 hours)  Lab 40% One lab per week (2 hours) As follow: Final exam 50% Course work 50%  lab assignment 20%  test 10%  projects 20%

Guide lines  Early study Object-Oriented Software Engineering Practical software development using UML and JAVA, 2 nd edition, (Timothy C. Lethbridge and Robert Laganiere) Lecture notes provided materials Take notes during the lecture  Assignments For self development Counted lab assignment

CO1: Understand the definition of software engineering, terms used in its discipline and ethics of software engineers CO2: U nderstanding on software process together with its generic phases and able to discern the suitability of each software process/lifecycle model to a given problem CO3: Ability to analyze a problem based on software engineer’s perspective, gather requirements to write specification document based on the standard documentation and build the analysis model

Course outcomes CO4: Able to produce an architectural design and detail design of the software based on the requirement and generate programming code CO5: To implement validation and verification on the software prototype

Lecture 1.  Software and software engineering  Software Engineering definition  Difference between computer science and  software engineering

Questions you need to answer  What is software?  What is software engineering?  What is the difference between software engineering and computer science?  What are the costs of software engineering?  What are software engineering methods?  What are the attributes of good software?  What are the key challenges facing software engineering?

What is software  Computer programs and associated documentation such as requirements, design models and user manuals.  Software products may be developed for a particular customer or may be developed for a general market.  Software products may be Generic - developed to be sold to a range of different customers e.g. PC software such as Excel or Word. Bespoke (custom) - developed for a single customer according to their specification. Embedded software – to adopt hardware functionality.  New software can be created by developing new programs, configuring generic software systems or reusing existing software.

Software problems  Software crisis Poor software design. Doesn't meet their expectations. Never delivered or late delivered. Over budget. Software bugs.  Software engineering methods To meet expectations. Avoid crisis.

Software designing artifacts  Software unlike other engineering products are: Illusive. Low mass production. Un-engineered designs are easy to collapse. no expiry date.

Software engineering  Solve problems Economically systematic High quality Satisfactory Reliable Maintainable Flexible

Other definitions  IEEE: (1) the application of systematic, disciplined, quantifiable approach to the development, operation, maintenance of software ;that is, the application of engineering to software. (2) the study of approaches as in (1).  The Canadian Standards Association: the systematic activities involved in the design, implementation and testing of software to optimized its production and support.

Software engineering vs. computer science  Computer science is concerned with theory and fundamentals; software engineering is concerned with the practicalities of developing and delivering useful software.  Computer science theories are still insufficient to act as a complete underpinning for software engineering (unlike e.g. physics and electrical engineering).

Stakeholders software USER CUSTOMERS DEVELPER MANAGMENT SOFTWARE DEVELOPER

Stakeholders  Users Those whom use the software  Customers Start design (decision)  Software developers Develop. Maintenance. Software engineers Recognized by their high quality work. Work in teams.  Development manager Companies managers. Always looking for profit ( low design cost & pleasing customers. user manager customer developer quality

Software quality  Is this a high quality software? Customer:  Solves my problem.  Low cost (money and resources). User:  Easy.  Efficient.  Get job done. user manager customer developer quality

Cont.  Developer: Easy to design Maintainable Reusable  Development manager: More selling Satisfactory Low design & maintaining cost Developer Easy to design Maintainable Reusable

Quality software CustomerUser DeveloperManager Solve my problemsNot costedEasyEfficientGet job done EasyMaintainableReusable Low design cost More sell Satisfactory

Cont.  It is very hard to say this is a high quality software, but we may consider the most important five quality attributes:  Usability  Efficiency  Reliability  Maintainability  Reusability

Cont.  Make your objectives  Internal quality Comments Complexity  Short term Does it meets the immediate needs? Sufficient, efficient for today data?  Long term quality What about maintainability? What about future needs?

Software engineering project  Team work Few people for small projects What about big projects  Three categories: Evolutionary project  Modifying Greenfield project  Developing from scratch Build from existing components  Uses frameworks  New for missed details

Common project activity  Project life cycle:  Requirement and specification Understanding the problem  Design How to implement the requirements  Modeling Software representation

Cont.  Programming Translate what you did to high level programming language (coding)  Quality assurance Meet the quality objectives  Reviews and inspections  Testing  Deployment Distributing and installing the system

Cont.  Managing the software configuration Identifying the components All software engenderers must participate for their components.  Managing the process Estimate the cost of the system Planning

AAny question. TThank you…..

Questions for this lectures  Define the following terms: Software engineering(IEEE, Canadian Standards Association) Software The differences between software and software engineering? Object, Class, polymorphism, inheritance. Stockholders Software engineering quality

 Describe the role of each stockholder in a software engineering project?  Draw a class box for each of the following stating the class name, attributes, and methods: Cars Students Server Human Home

 In example project there are two classes namely (Human, student, lecturer, child), draw a diagram showing the inheritance relationship between these classes.