Podcast
Questions and Answers
During the implementation phase of software engineering, what are the common challenges encountered when fixing bugs?
During the implementation phase of software engineering, what are the common challenges encountered when fixing bugs?
What is the primary purpose of software maintenance in the software engineering process?
What is the primary purpose of software maintenance in the software engineering process?
Which of the following is NOT a key aspect of software engineering's deployment phase?
Which of the following is NOT a key aspect of software engineering's deployment phase?
What is the primary function of Unified Modeling Language (UML) in software engineering?
What is the primary function of Unified Modeling Language (UML) in software engineering?
Signup and view all the answers
What is the main difference between Software Engineering (SE) and Computer Engineering (CE)?
What is the main difference between Software Engineering (SE) and Computer Engineering (CE)?
Signup and view all the answers
What is the core idea behind software engineering according to Fritz Bauer?
What is the core idea behind software engineering according to Fritz Bauer?
Signup and view all the answers
Which of the following is NOT a core skill required for a software engineer?
Which of the following is NOT a core skill required for a software engineer?
Signup and view all the answers
What is the main distinction between "software engineering" and "software development"?
What is the main distinction between "software engineering" and "software development"?
Signup and view all the answers
Which characteristic(s) distinguish software engineering from other types of engineering?
Which characteristic(s) distinguish software engineering from other types of engineering?
Signup and view all the answers
Which category DOES NOT belong to the types of software products?
Which category DOES NOT belong to the types of software products?
Signup and view all the answers
Which of the following is a key characteristic of requirements in software engineering?
Which of the following is a key characteristic of requirements in software engineering?
Signup and view all the answers
What is the main difference between a software system product and a software product?
What is the main difference between a software system product and a software product?
Signup and view all the answers
What is the primary role of "requirements decomposition" in software engineering?
What is the primary role of "requirements decomposition" in software engineering?
Signup and view all the answers
Which of the following is NOT a basic task of software engineering?
Which of the following is NOT a basic task of software engineering?
Signup and view all the answers
Which of the following examples is NOT a typical application of real-time embedded software?
Which of the following examples is NOT a typical application of real-time embedded software?
Signup and view all the answers
What is a requirement in the context of software engineering?
What is a requirement in the context of software engineering?
Signup and view all the answers
What is the primary focus of software engineering, according to the IEEE definition?
What is the primary focus of software engineering, according to the IEEE definition?
Signup and view all the answers
Which of the following is NOT a stage in the software engineering process as outlined in the provided text?
Which of the following is NOT a stage in the software engineering process as outlined in the provided text?
Signup and view all the answers
What is the main difference between high-level design and low-level design in the software engineering process?
What is the main difference between high-level design and low-level design in the software engineering process?
Signup and view all the answers
What is the evaluation scheme for the CP317D Software Engineering course?
What is the evaluation scheme for the CP317D Software Engineering course?
Signup and view all the answers
What is the purpose of the Think-Pair-Share (TPS) activity mentioned in the provided text?
What is the purpose of the Think-Pair-Share (TPS) activity mentioned in the provided text?
Signup and view all the answers
Which of the following is NOT a key difference between engineering and science, as suggested by the provided text?
Which of the following is NOT a key difference between engineering and science, as suggested by the provided text?
Signup and view all the answers
In the context of the provided syllabus, what is the focus of week 2?
In the context of the provided syllabus, what is the focus of week 2?
Signup and view all the answers
What are two of the key characteristics of software engineering, as implied by the provided text?
What are two of the key characteristics of software engineering, as implied by the provided text?
Signup and view all the answers
Study Notes
Course Information
-
Course name: CP317D: Software Engineering
-
Instructor: Lunshan (Shaun) Gao, Ph.D., P.Eng.
-
Email: [email protected]
-
Textbook (reference): Beginning software engineering by Rod Stephens; Publisher: John Wiley & Sons, 2015, Software Engineering: A Practitioner's Approach by R.S. Pressman, 2010
-
Evaluation: Group project (2x15%): 30% (presentation + project report), Test 2x15%: 30% close book, Final exam: 40% close book
-
Rule 1: Academic plagiarism is prohibited. Project reports and materials for presentation must be delivered to MyLearningSpace.
-
Rule 2: Do not ask for increasing marks. Grades are earned, not given.
Course Schedule
- Week 1: Introduction to software engineering and project management
- Week 2: Requirement gathering
- Week 3: High-level design – architecture design
- Week 4: Low-level design-1
- Week 5: Low-level design-2 - Test 1
- Week 6: Development
- Week 7: Testing and metrics
- Week 8: Deployment and waterfall model - Test 2
- Week 9: Iterative models-1
- Week 10: Iterative models-2 and RAD
- Week 11-12: Project presentation
Introduction to Software Engineering
- Software Engineering Definition 1: The study using scientific principles to design and build software products for computer systems.
- Software Engineering Definition 2: The branch of engineering associated with designing and building software products using scientific principles, methods, and procedures.
- Software engineering yields efficient and reliable software products.
- Software engineering is an engineering branch concerned with real world problems.
Introduction - cont.
- Types of Software Products: Application software, Middle ware, Embedded software, Real-time embedded software.
Relationship to Other Engineering
- Software engineering draws upon other engineering disciplines such as electrical, mechanical, and civil engineering.
The Process of Software Engineering - cont.
- Requirement gathering: Identifying and documenting the needs of a software system.
- High-level Design: Defines the overall architecture of the software system.
- Low level Design: Defines the internal details of the modules.
- Implementation: Coding and debugging the software
- Testing: Verify requirements and standards match the code and functionality, bug fixing
- Deployment: Installing and configuring the software in a production environment.
- Maintenance: Modifying the software to fix bugs, add new features, or adapt to changes in the environment after the delivery.
- Requirements: A requirement is a singular documented physical or functional need that aims to satisfy a design, product, or process. Includes Understanding, Feasibility research, Negotiation, System design, Requirements decomposition, Specification, and Tool selection.
Software Design Document - cont.
- Data flow
- Object-oriented design - UML
The deployment process
- Deployment = resources brought into effective action.
- New or new version computer systems
- User training
- On-site support while the users get familiar with the software system
- Bug fix
Maintenance involves
- Modification after delivery
- Correcting faults
- Improving performance or other attributes,
- Customer support
- Bug fixes
Software Engineer vs. Developer and Programmer
- Software Engineers are licensed professionals.
- Software Engineers have a specific degree and broad knowledge of design systems
- Developers/Analysts are super type programmers who gather requirements, design systems, and implement applications
- Programmers write code and follow specifications.
Skills for Software Engineers
- Computer systems (hardware & software)
- Computer languages
- Object-Oriented Design
- Software testing and debugging
- Problem solving and logical thinking
- Communication skills (written and verbal)
- Team player - Management
Announcements
- 3-4 Students to form a group or the group project.
- 2 Students will focus on project presentation.
- 2 Students will focus on project report.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Explore the fundamental concepts of software engineering in this quiz based on the CP317D course. Cover topics such as project management, requirement gathering, software design, development, and testing. This quiz helps reinforce key principles from the textbooks by Rod Stephens and R.S. Pressman.