- Количество слайдов: 15
Software Engineering Dr. Mohammed Alwanain Ph. D in Software Engineering
This module covers: • Introduction to software and software engineering. • Object-oriented concept. • Unified modelling language (UML). § Software Process. § Software Development Models. § Software Quality. § Black Box Testing. § White box Testing.
Assignments and exams Type Date Marks Assignment 1 6/6/1438 5% Assignment 2 2/7/1438 5% Mid term exam 1 12/6/1438 20% Mid term exam 2 20/7/1438 20%
What is software? • The collection of programs, documentation and configuration data that ensures correct execution. • Execution in software engineering is the process by which a computer performs (run) the instructions of a computer program.
What is software ? • Software is not just a Program. • A professionally developed software system is often more than a single program. ü Usually consists of a number of separate programs, focus on subset of the system. ü It may include system documentation, which describes the structure of the system.
Software types System software The program that are dedicated to managing the computer itself. Ø Example: operating systems i. e. ( Windows, mac, Linux …) Application software Productivity programs or End-user programs which allow the user to Write documents, sending emails …etc.
applications types Stand-alone applications These are application systems that run on a local computer, such as a PC. They include all necessary functionality and do not need to be connected to a network. (Executable application) Interactive transaction-based applications Applications that execute on a remote computer and are accessed by users from their own PCs or terminals. These include web applications such as e -commerce applications. etc. .
What is ‘Software Engineering’? • Software engineering is the application of engineering to the design, development, implementation, testing and maintenance of software systems in a systematic method. (Laplante (2007)). • “Software development is not simply a case of sitting down at a terminal and typing in the program code”.
Software engineering and the web The Web is now a platform for running application and organizations are increasingly developing web-based systems rather than local systems. Web services allow application functionality to be accessed over the web. Cloud computing is an approach to the provision of computer services where applications run remotely on the ‘cloud’.
Software Development Problems Complexity: Exponential growth of complexity to the size of a program: twice the size, four times the complexity; Example: Windows XP has 40 millions lines of source code (estimation).
Software Development Problems Difficulty in understanding and managing the complexity causes: Overrunning Cost: Denver Airport Automated Baggage System, 2 billions US dollar over budget Unreliable Difficult to maintain Etc…
Famous Software Disaster Ariane 5 expendable launch system: Spacecraft launching system improved from Ariane 4. First test flight took place on June 4, 1996.
Software engineering vs System engineering What is the difference between software engineering and system engineering? Ø System engineering is concerned with all aspects of computer-based systems development including hardware and software engineering. Ø Software engineering is a “component” in this process
References R. Pressman, Software Engineering: A Practitioner’s Approach, 7 th Ed. , 2010, pp. 14 -15. Glenford Myers, The Art of Software Testing, 2 nd edition, Wiley, 2011. http: //www. coleyconsulting. co. uk/from-waterfall-to-v model. htm