Study-Unit Description

Study-Unit Description


CODE CIS2206

 
TITLE Software Development Methods and Techniques

 
UM LEVEL 02 - Years 2, 3 in Modular Undergraduate Course

 
MQF LEVEL 5

 
ECTS CREDITS 5

 
DEPARTMENT Computer Information Systems

 
DESCRIPTION This study-unit will focus on the basic heuristic, formal and practical principles for software engineering. A systematic insight into software quality aspects and their indicative potential will be presented. Students will be offered insight into how to develop models for software systems. Formal, semi formal and informal software specification techniques will be explained. RAD and Agile approaches will be presented.

Quality categorization and management along with fundamental concepts of adaptive testing and maintenance will be discussed.

Object oriented development using UML and RUDP. These will complement the previous topics. Agile methods will be explained. These will be compared with the more traditional approaches along with their suggested use.

Along with these topics, different software development methods will be expounded from a practical and problem solving perspective within the context of organizational information systems. These are SSADM, DSDM, Soft Systems Methodology (SSM), ETHICS.

Software cost estimation techniques including IT procurement, application of product and process metrics will be presented. The focus will be on having quality oriented software.

Study-unit Aims:

The aim of the unit is to provide the student with a working set of concepts and tools for solving software engineering related problems in a formal, structured and practical approach. The student will be exposed to a broad spectrum of techniques and problem solving approaches in this domain.

Learning Outcomes:

1. Knowledge & Understanding:
By the end of the study-unit the student will be able to:

- Identify the different types of software development structures;
- Explain the concepts behind software life cycles and system behaviour;
- Identify the need for proper software development methods and structure;
- Explain the philosophies and principles underpinning different software development methodologies;
- Explain the structures and principal components of the main software development methodologies;
- Distinguish between the various analytical techniques used for software software engineering e.g. formal software specification techniques, object oriented development;
- Explain basic notations of sets, propositional statements, predicates and diagrammatic specifications;
- Explain quality frameworks based on applicable quality criteria.

2. Skills:
By the end of the study-unit the student will be able to:

- Set up appropriate software development structures;
- Identify effective life-cycles and populate these life-cycles with appropriate models to describe system behaviour;
- Rationalise about software solution structure and complexity;
- Measure and manage software construction, and verify its correctness (through specification, starting with basic notions of diagrams, sets and statements or some other form of specification;
- Set up quality frameworks based on applicable quality criteria linked to software products;
- Create software solutions of demonstrable quality and relevance;
- Reason about software solutions in a structured way through the appropriate use of abstraction;
- Direct software development on a personal and small-scale level;
- Plan and assess software solution development processes;
- Take part in requirements specification activity;
- Apply various modelling techniques effectively to describe various aspects of system behaviour, particularily in an organizational context;
- Select and apply the most appropriate method to the type of organizational problem efficiently and professionally with software solution development stakeholders;
- Estimate cost of design and development of software;
- Appreciate the pivotal need of software maintenance in terms of solution longevity;
- Appreciate the need for structure and control in big software projects and how this can be achieved using structured approaches.

Main Text/s and any supplementary readings:

An Introduction to Systems Analysis Techniques, 2nd Ed. M. Lejk & D. Deeks, Addison Wesley, 2002, ISBN: 0-20179713-5
Fundamentals of Software Engineering 2nd Ed. C. Ghezzi et al, Prentice Hall, 2003, ISBN: 0-13-305699-6
Information Systems Development, methodologies, techniques and tools. Avison David and Fizgerald Guy, MacGraw-Hill Education, ISBN: 13-978-0-07-711417-6
Software Design 2nd Ed. D. Budgen, Pearson-Addison Wesley, 2003, ISBN: 0-201-72219-4.
Software Engineering A practitioners approach, 7th Ed. Pressman Roger S., MacGraw-Hill Education, 978-007-176782-3

Additional Textbooks:

Software Engineering - a Programming Approach 3rd Ed. D. Bell, Addison Wesley, 2000, ISBN: 0-201-64856-3
Software Engineering for Information Systems. McDermod Donald C., MacGraw-Hill, 0-632-02607-3
Software Engineering Theory and Practice 2nd Ed. S. L. Pfleeger, Prentice Hall, 2001, ISBN: 0-13-029049-1

 
ADDITIONAL NOTES Students taking this study-unit need to have a technical background

 
STUDY-UNIT TYPE Lecture and Independent Study

 
METHOD OF ASSESSMENT
Assessment Component/s Assessment Due Sept. Asst Session Weighting
Practical Exercises SEM1 Yes 20%
Examination (2 Hours) SEM1 Yes 80%

 
LECTURER/S Michel Camilleri
Anthony Spiteri Staines (Co-ord.)

 

 
The University makes every effort to ensure that the published Courses Plans, Programmes of Study and Study-Unit information are complete and up-to-date at the time of publication. The University reserves the right to make changes in case errors are detected after publication.
The availability of optional units may be subject to timetabling constraints.
Units not attracting a sufficient number of registrations may be withdrawn without notice.
It should be noted that all the information in the description above applies to study-units available during the academic year 2023/4. It may be subject to change in subsequent years.

https://www.um.edu.mt/course/studyunit