|
Code | Course Title: Software engineering
|
Credits | |
CCI – 06 | Theory courses: 14 h – Practical exercises: 20 h | Knowledge Test Written test: 2 h
Project: 12 h |
4 |
- Goals and learning outcomes
- Goals
The objective of this module is to get students:
- be familiar with the software engineering concepts;
- learn the different generic software engineering processes and lifecycles;
- analyze and solve problems using software engineering processes;
- learn to test and verify software;
- be familiar with object oriented analysis and design with UML.
- Learning Outcomes
After completing this module, students should be able to:
- achieve software requirements specifications, design, implementation;
- test and control software quality;
- apply object oriented analysis and Design in software engineering processes.
- Prerequisite
- CCI-05: Algorithmic and programming
- Contents
- Introduction: Software Engineering Definition, Software Types, Software’s Dual Role, Software Characteristics, Attributes of a Good Software, Software Development Process, Legacy Software, Software Engineering Costs.
- Software Process – Software Life Cycle.
- Generic software process models: Waterfall Model, Evolutionary development, Spiral Development, Incremental Delivery.
- Software management project: Definition, Software Manager’s Roles, Management Activities (proposal writing, project planning and scheduling, project costing, project monitoring and reviews, personnel selection and evaluation, report writing and presentations, to both client and stakeholders in the company).
- Process Activities: software specification (feasibility study, requirements elicitation and analysis, requirements specification, requirements validation), software design and implementation (architectural design, system modeling, abstract specification, interface design,component design, data structure design, algorithm design, software development), software testing and quality of assurance (introduction to testing types, testing activities, introduction to test cases) .
- Advanced programming techniques (Java, web applications, Python, C++, C#…).
Course Features
- Lectures 0
- Quizzes 0
- Duration 4 semaines
- Skill level Tous niveaux
- Language English
- Students 0
- Assessments Yes