🎧 New: AI-Generated Podcasts Turn your study notes into engaging audio conversations. Learn more

Lecture 1 (1).pdf

Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Transcript

CSE 417: Software Engineering & Design Pattern Lecture 1: Introduction to Software Engineering Md. Mushtaq Shahriyar Rafee July 2, 2024 Senior Lecturer, Metropolitan University Table of contents 1. What is Software Engineering? 2. Software Application Domains 3. System Software vs Appl...

CSE 417: Software Engineering & Design Pattern Lecture 1: Introduction to Software Engineering Md. Mushtaq Shahriyar Rafee July 2, 2024 Senior Lecturer, Metropolitan University Table of contents 1. What is Software Engineering? 2. Software Application Domains 3. System Software vs Application Software 4. Software Engineering vs Computer Engineering 5. Essential Attributes of a Good Software 1 What is Software Engineering? What is Software Engineering? i What is a Software? A collection of programs that accomplish any particular task!! What is Engineering? Application of scientific and practical knowledge to invent, design, build, maintain, and improve frameworks, processes, etc. 2 What is Software Engineering? i What then is the definition of Software Engineering?!! 3 What is Software Engineering? i Definition Software engineering is an engineering discipline that is concerned with from the early stages of system specification through to maintaining the system after it has gone into use. 4 Software Application Domains Software Application Domains i SEVEN Broad Categories!! System Software Software designed to provide a platform for other software or service to other programs. Example: Various operating systems (Android, Windows, Linux, macOS etc). Application Software Stand-alone programs that solve a specific business need. Example: MS Office, PowerPoint, Chrome, Adobe Photoshop, Notepad, Skype). 5 Software Application Domains i Engineering/ Scientific Software Software satisfies the needs of a scientific or engineering user to perform enterprise-specific tasks. Example: MATLAB, AUTOCAD, PSPICE, ORCAD, etc. Embedded Software Resides within a product or system and is used to implement and control features and functions for the end user and for the system itself. Key pad control for a microwave oven or washing machines. 6 Software Application Domains i Web applications Application software that is accessed using a web browser Provide stand-alone features, computing functions, and content to the end user, also integrated with corporate databases and business applications. Example: online forms, shopping carts, video and photo editing, file conversion. Product-line/Business Software Software is used to support business applications and is the most widely used category of software. Software for inventory management, accounts, banking, hospitals, schools, stock markets, etc. 7 Software Application Domains i Artificial intelligence software Computer program which mimics human behavior by learning various data patterns and insights. Example: robotics, expert systems, pattern recognition (image and voice), artificial neural networks, theorem proving, and game playing. 8 System Software vs Application Software System Software vs Application Software i System Software Application Software Maintains system resources & gives path for application Built for specific tasks. software to run Low-level languages are used High-level languages are used System stops without Without application software system software system always runs. Runs independently. Dependent on system software Operates the system in the Runs in the front according background until the to the user’s request. shutdown of the computer Example: OS Example: Photoshop, VLC player, etc. 9 Software Engineering vs Computer Engineering Software Engineering vs Computer Engineering i Software Engineering? Study of software which tell us about how Software is formed and about the processes involved in the formation of Software. Applies the principles of Engineering in order to create a software. Computer Engineering? Study of both software and hardware and informs about the theoretical and practical implementation of mathematical formulations and technologies. Provide knowledge about various field: networking, processors and data base etc. Base of Software Engineering. 10 Essential Attributes of a Good Software Essential Attributes of a Good Software i Maintainability Software should be written in such a way so that it can evolve to meet the changing needs of customers. This is a critical attribute because software change is an inevitable requirement of a changing business environment. Dependability and security Software dependability includes a range of characteristics including reliability, security, and safety. Dependable software should not cause physical or economic damage in the event of system failure. Malicious users should not be able to access or damage the system. 11 Essential Attributes of a Good Software i Efficiency Software should not make wasteful use of system resources such as memory and processor cycles. Efficiency therefore includes responsiveness, processing time, memory utilization, etc. Acceptability Software must be acceptable to the type of users for which it is designed. This means that it must be understandable, usable, and compatible with other systems that they use. 12 Any Questions?? 13

Tags

software engineering design patterns computer science engineering
Use Quizgecko on...
Browser
Browser