SLIIT Software Process Modeling IT1060 Lecture 1 PDF

Summary

This document is a lecture on software process modeling from SLIIT, the Sri Lanka Institute of Information Technology, for the 2024 academic year. It covers topics including the latest trends in software development, and the software development life cycle.

Full Transcript

Software Process Modeling Software Process Model 2024 Introduction SLIIT - Faculty of Computing IT1060 Software Process Modeling –IT1060 Introduced in 2017 By Prof. Pradeepa Samarasinghe...

Software Process Modeling Software Process Model 2024 Introduction SLIIT - Faculty of Computing IT1060 Software Process Modeling –IT1060 Introduced in 2017 By Prof. Pradeepa Samarasinghe SLIIT - Faculty of Computing IT1060 Lecture Panel –SPM Team Ms.Samanthi Siriwardana –Lecture-In-Charge Ms. Mihiri Samaraweera- Lecturer –SPM Team SLIIT - Faculty of Computing IT1060 Lecture Panel –SPM Team Ms.Chathushki Chathumali-Lecturer-SPM Team Ms.Akshi De Silva- Lecturer-SPM Team Ms.Nimasha Chinthaka -Lecturer-SPM Team SLIIT - Faculty of Computing IT1060 Latest Software Development Trends SLIIT - Faculty of Computing IT1060 Latest Software Development Trends Low-code & No-code Solutions in the Software Development Process Embracing Cloud Computing The Massive Growth of IoT Devices Artificial Intelligence Everywhere New Programming Languages Show Up & Gain Momentum More Use of Big Data in Software Engineering Agile Methodologies for DevOps and Security Teams Augmented Reality & Virtual Reality Take Software Development Beyond the Screen Put User Experience First SLIIT - Faculty of Computing IT1060 Session outcomes Introduction to Module SPM- Introduction SLIIT 7 SLIIT - Faculty of Computing IT1060 Academic Integrity Policy Are you aware that following are not accepted in SLIIT??? Plagiarism - using work and ideas of other individuals intentionally or unintentionally Collusion - preparing individual assignments together and submitting similar work for assessment. Cheating - obtaining or giving assistance during the course of an examination or assessment without approval Falsification – providing fabricated information or making use of such materials Committing above offenses come with serious consequences ! See General support section of Course web for full information. Enrollment Key :IT1060 SLIIT - Faculty of Computing IT1060 MODULE INTRODUCTION SLIIT 9 SLIIT - Faculty of Computing IT1060 Module contents Course web - IT1060 IT1060 [2023/FEB] General Module outline Notices Marks Weekly updates Lecture Lab Tutorial Additional Reading/Recordings SLIIT 10 SLIIT - Faculty of Computing IT1060 Learning outcomes Differentiate the characteristics and effects of different types of software engineering processes. Describe the requirement engineering process and components of a formal requirements document for a software project. Apply the knowledge of UML to model and represent system requirements. Describe software design strategies and the importance of design models. Apply the knowledge of software implementation and testing to write test cases. Apply Agile development methodology. SLIIT 11 SLIIT - Faculty of Computing IT1060 Assessment Criteria Mid Term Examination 30% LO1-LO4 Assignment I 10% LO3-LO5 Assignment II 10% LO4-LO5 Final Examination 50% LO1-LO9 To pass this module, students need to obtain a pass mark in both “Continuous Assessments” and “End of the Semester Examination” components which would result in an overall mark that would qualify for a “C” grade or above. SLIIT 12 SLIIT - Faculty of Computing IT1060 Assignments Five members in one group Randomly chosen case study Two submissions Before Mid term – Week 7 Based on requirements engineering and use case diagrams After Mid term – Week 13 Based on Activity Diagram SLIIT 13 SLIIT - Faculty of Computing IT1060 Recommend Texts Ian Sommerville, “Software Engineering”, Pearson Education Limited, 10th edition, 2016 R. Pressman, “Software Engineering: a practitioner’s approach”, McGraw-Hill Education; 8th edition, 2014 K.S. Rubin, Essential Scrum: A Practical Guide to the Most Popular Agile Process, Addison-Wesley, 2012 SWEBOK, Guide to the Software Engineering Body of Knowledge, 2014 SLIIT - Faculty of Computing IT1060 Lab Schedule SLIIT 15 SLIIT - Faculty of Computing IT1060 SPM- INTRODUCTION SLIIT 16 SLIIT - Faculty of Computing IT1060 Session Outcomes 1. What is a Software 2. What is Software Engineering 3. Software Process 4. Software Process Activities 5. Software process model 6. Software Development Life Cycle 7. Software Engineering Ethics SLIIT - Faculty of Computing IT1060 What is Software? Software is not only the computer programs, but also associated documentation and configuration files, needed to make the programs operate correctly. SLIIT - Faculty of Computing IT1060 Popular Software SLIIT - Faculty of Computing IT1060 1st Year 1st Semester IP Are these Software ? What are things that you need to do to develop Software? SLIIT - Faculty of Computing IT1060 Library Software http://www.verussolutions.biz/technology.php SLIIT - Faculty of Computing IT1060 Programs Vs. Software Products Program Software Product Small Large Single developer Team of developers Small in size Multiple users Limited Functionality (customer) Single user (author) Complex user interfaces Simple user interface Detailed documentation Sparse documentation No user manual User manual Ad hoc development Systematic development SLIIT 22 SLIIT - Faculty of Computing IT1060 MS Teams SLIIT - Faculty of Computing IT1060 MS Teams SLIIT - Faculty of Computing IT1060 Teams Documentation SLIIT - Faculty of Computing IT1060 Software products can be Generic These are stand alone systems that are produced by a development organization and sold on the open market to any customer who is able to buy them. Customized These are systems that are developed for a particular customer requirements SLIIT - Faculty of Computing IT1060 How do we develop a real software? There will be a real user (Customer) who would need to use the software. 1. Feasibly study (whether it is technical feasible and financially worthwhile) 2. You have to find out what the customer wants (Requirements Gathering) 3. Analyze the problem 4. Develop a solution (Design) 5. Code the solution 6. Test and Debug 7. Maintenance SLIIT 27 SLIIT - Faculty of Computing IT1060 Suggest Something Innovative? Suggest your dream software Do not think about technical barriers You can think beyond of the reality “New Ideas will lead you to highest point of the Software Engineering” SLIIT - Faculty of Computing IT1060 Suggest Something Innovative in Pandemic Situation ? Suggest Any Software Which helps in Pandemic Situation Day to day Life Communication Shopping Any other Idea ? SLIIT - Faculty of Computing IT1060 Software Engineering ▪ IEEE Definition of Software Engineering: The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. IEEE Standard 610.12-1990, 1993. SLIIT - Faculty of Computing IT1060 Software Engineering Cont. Engineering discipline make things work by applying theories, methods and tools where these are appropriate and also try to discover solutions to problems even when there’s no proper theories/methods. All aspects of software production Not only technical processes of software development, but also project management and development of tools, methods and theories to support S/W production. SLIIT - Faculty of Computing IT1060 Key Challenges Deliver Quality software to the customer at the agreed time The product is intangible Software processes are available and organization/product specific Keep overall costs within budget SLIIT - Faculty of Computing IT1060 Process SLIIT - Faculty of Computing IT1060 Making A Cup of Tea SLIIT - Faculty of Computing IT1060 Making A Cup of Tea Ingredients : Tea Leaves, Sugar, Milk Powder, Boiled Water Process Boil the water Pour boiled water into cup Put a tea bag inside a cup Leave it few minutes Put Sugar and Milk (if necessary) Stir few seconds Arrange it nicely Output: Tea SLIIT - Faculty of Computing IT1060 Software Process A software process is a set of interrelated activities and tasks that transform input work products into output work products. (SWEBOK V3 – Chapter 8) SLIIT - Faculty of Computing IT1060 Software Process Activities Software Specification Software Development Software Validation Software Evolution SLIIT - Faculty of Computing IT1060 Software Process Activities Software Specification The functionality of the software and constraints Software Development The software is designed and programmed. Software Validation The software must be validated Software Evolution The software must evolve SLIIT - Faculty of Computing IT1060 Software Processes “There is no universal process that is right for all kinds of software” Ex: For safety-critical systems, a very structured development process is required where detailed records are maintained. For business systems, with rapidly changing requirements, amore flexible ,agile process is likely to be better SLIIT - Faculty of Computing IT1060 Software process model It is a simplified representation of software process. SLIIT - Faculty of Computing IT1060 Software Development Life Cycle SLIIT - Faculty of Computing IT1060 Software Development Life Cycle Models A Software Development Life Cycle Model has a series of stages that a software product undergoes during its life time. is a descriptive and diagrammatic representation of the software life cycle. is often referred as software process model. maps the basic development activities to phases in different ways SLIIT - Faculty of Computing IT1060 General Software Process Models Waterfall Model Classic Iterative Prototyping Evolutionary Model Incremental Spiral Agile development. SLIIT - Faculty of Computing IT1060 Software Engineering Ethics As a Professional Software Engineer, You should accept that your work involves wider responsibility than simply application of technical skills You should behave in an ethical way and morally responsible way You should not use your skills and abilities to behave in a dishonest way that will bring disrepute to the software engineering profession SLIIT - Faculty of Computing IT1060 Software Engineering Ethics Con. Standards Confidentiality Competence Intellectual Property rights Computer misuse SLIIT - Faculty of Computing IT1060 Case Studies Library Management System SLIIT - Faculty of Computing IT1060 Library Management System Sri Lanka Institute of Information Technology (SLIIT) is the largest degree awarding institute in Sri Lanka with degree programs diversified to computing, business and engineering. In order to cater to its growing need of knowledge the institute maintains a Library Information System connecting Malabe, Metropolitan and Matara campuses. Each holds a latest collection of books and periodicals, particularly in the field of Information Technology, business management, engineering, general English, architecture and quantity surveying. The library of the Malabe Campus acts as the main resource center through which all library development activities are coordinated. SLIIT libraries are open to SLIIT students daily including weekends from 7.30 AM to 7.00 PM. SLIIT - Faculty of Computing IT1060 Tasks carried out at the library Add library materials Manage Library membership borrow books return books Pay fine on overdue materials Refund library deposit Replace lost library material Search library materials Generate reports SLIIT - Faculty of Computing IT1060 Next Lecture Software Development Life Cycle Models SLIIT - Faculty of Computing

Use Quizgecko on...
Browser
Browser