YAZ402 Software Implementation, Testing and MaintenanceInstitutional InformationDegree Programs Software EngineeringInformation For StudentsDiploma SupplementErasmus Policy StatementNational Qualifications
Software Engineering

Preview

Bachelor TR-NQF-HE: Level 6 QF-EHEA: First Cycle EQF-LLL: Level 6

Course General Introduction Information

Course Code: YAZ402
Course Name: Software Implementation, Testing and Maintenance
Course Semester: Spring
Course Credits:
ECTS
4
Language of instruction: TR
Course Requirement:
Does the Course Require Work Experience?: No
Type of course: Necessary
Course Level:
Bachelor TR-NQF-HE:6. Master`s Degree QF-EHEA:First Cycle EQF-LLL:6. Master`s Degree
Mode of Delivery: Face to face
Course Coordinator : Prof. Dr. HALİS ALTUN
Course Lecturer(s): Prof. Dr. Halis ALTUN
Course Assistants:

Course Purpose and Content

Course Objectives: This course aims to provide an introduction for the software testing principles and techniques and the opportunity for students to have some practical knowledge on software testing. In this course, students are expected to learn why software systems need to be tested, the different techniques on software testing, and the tools for automating software testing. The students are also expected to learn the software usability testing and the code inspection. Moreover, the course aims at introducing the software model checking techniques and how to write quality software code using the Design-by-Contract approach. The design-by-contract approach will be used with the Java modelling language.
Course Content: White-box Testi, Black-box Testi, Unit Testi, Integration Testi, Regression Testi, Acceptance Testi, Usability Testi, Kod Denetimi, Model Sınama, Design-by-Contract, Java Modeling Language

Learning Outcomes

The students who have succeeded in this course;
1) Ability to use the software tools for automating software testing
2) Ability to test software usability and inspect software code
2) Knowledge about the basic principles and techniques in software testing
4) Ability to use knowledge to test software systems using different testing techniques
5) Ability to write quality software code using Design-by-Contract
6) Knowledge about model checking
7) Ability to use Java Modelling Language for modelling and testing Java programs

Course Flow Plan

Week Subject Related Preparation
1) Introduction to Software Testing
2) Black Box Testing
3) White Box Testing
4) Different Testing Levels (Unit Testing, Integration Testing, System Testing, Regression Testing, and Acceptance Testing
5) Different Testing Levels (Unit Testing, Integration Testing, System Testing, Regression Testing, Acceptance Testing)
6) Testing Tools
7) Usability Testing
8) Code Inspections
9) Model checking
10) Model checking
11) Design-by-Contract
12) Java Modeling Language
13) An industrial seminar on Software Testing
14) Project Presentations

Sources

Course Notes / Textbooks: (Essential) Software Testing 2nd edition, by Ron Patton, Sams Publishing, 2005

(Supplementary) Spin Model Checker, the: Primer and Reference Manual, 1st edition, by Gerard Holzmann, Addison-Wesley Professional, 2003
References: Gary T. Leavens and Yoonsik Cheon. Design by Contract with JML. Draft, available from jmlspecs.org., 2005.

P. Chalin, J. Kinirya, G. Leavens, and E. Poll. Beyond assertions:

Advanced specification and verification with JML and ESC/Java2.

FMCO’05, LNCS 4111, 77–101. Springer, 2006.

Course - Learning Outcome Relationship

No Effect 1 Lowest 2 Medium 3 Highest
       
Program Outcomes Level of Contribution
1) Sufficient knowledge in mathematics, science and software engineering discipline-specific topics; the theoretical and practical knowledge in these areas, the ability to use in complex engineering problems. 1
2) The ability to identify, formulate, and solve complex engineering problems; selecting and applying appropriate analysis and modelling methods for this purpose. 2
3) The ability to design a complex system, process, device or product under realistic constraints and conditions to meet specific requirements; the ability to apply modern design methods for this purpose. 2
4) Ability to develop, select and use modern techniques and tools necessary for analysis and solution of complex problems in engineering applications; ability to use information technologies effectively. 2
5) Ability to design experiments, conduct experiments, collect data, analyse and interpret the results of complex engineering problems or discipline-specific research topics. 3
6) Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi. 1
7) Awareness of the need for lifelong learning; access to knowledge, ability to follow developments in science and technology, and constant self-renewal. 1
8) Effective communication skills in Turkish oral and written communication; at least one foreign language knowledge; ability to write effective reports and understand written reports, to prepare design and production reports, to make effective presentations, to give clear and understandable instructions and to receive. 3
9) Conformity to ethical principles, professional and ethical responsibility; Information on standards used in engineering applications. 1
10) Information on practices in business, such as project management, risk management and change management; awareness about entrepreneurship, innovation; information on sustainable development. 3
11) Information on the effects of engineering applications on health, environment, and safety in universal and social dimensions, and on the problems of the modern age in engineering; awareness of the legal consequences of engineering solutions. 1
12) Adequate skills in the analysis, design, verification, evaluation, implementation, implementation, and maintenance of software systems 3

Learning Activity and Teaching Methods

Anlatım
Course
Grup çalışması ve ödevi
Homework

Measurement and Evaluation Methods and Criteria

Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama)
Homework
Grup Projesi

Assessment & Grading

Semester Requirements Number of Activities Level of Contribution
Homework Assignments 3 % 15
Project 1 % 25
Midterms 1 % 20
Final 1 % 40
total % 100
PERCENTAGE OF SEMESTER WORK % 60
PERCENTAGE OF FINAL WORK % 40
total % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Activities Number of Activities Aktiviteye Hazırlık Aktivitede Harçanan Süre Aktivite Gereksinimi İçin Süre Workload
Course Hours 14 3 42
Study Hours Out of Class 14 1 14
Project 1 20 20
Homework Assignments 3 6 18
Midterms 1 10 10
Final 1 15 15
Total Workload 119