Unit 7 Software Development Lifecycles - Outline

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 15

Undergraduate Program Subject Outline

School of Continuing Education (General)

Subject/Unit Code K/618/7408 # of Credits 15


Subject/Unit Name Software Development Lifecycles Level 4
Session Spring Year 2022

Lecturer’s Name: Ms. Ryda Simon


Building & Office No: BLOCK A
Subject Website HTTPS://MOODLE.ACUQ.AE/MOODLE/
(Moodle/Blackboard)
E-mail Address: ryda.s@acuq.ae
Consultation Days and Times: Tuesday, 9:00 AM – 12:00 PM
Subject Coordinator: Mr. Mahmoud Alkhouli
Program Coordinator: Mr. Mahmoud Alkhouli
Monday Tuesday Wed. Thursday Friday

Lecture Timings 3.30pm- 1.30pm-


5.30p 3.30pm
Location

1 SUBJECT DESCRIPTION
The software development lifecycle is an integrated process that promotes building good
quality, secure software throughout the entire development process. The aim of this unit is to
give students the knowledge and skills needed to understand software development
lifecycles so that they can demonstrate their knowledge by implementing a software
development lifecycle with a suitable methodology.

The unit introduces students to lifecycle decision making at different stages of the software
development process. They will examine various lifecycle models and learn to appreciate
their particular characteristics in order to understand for which project environments they are
most appropriate. Theoretical understanding will be translated into practical skills through an
actual software development lifecycle project. Students will become confident in the use of
particular tools and techniques relevant to a chosen methodology.

Among the topics included in this unit are iterative and sequential models of software
development lifecycles and reference frameworks for initially capturing conceptual data and
information through a feasibility study, and requirement gathering techniques through to
analysis, design and software implementation activities.

Students will develop skills such as communication literacy, critical thinking, analysis,
reasoning and interpretation, which are crucial for gaining employment and developing
academic competence.

Page 1
Unit 7: Software Development Lifecycles
2 LEARNING OUTCOMES
By the end of this unit students will be able to:

LO1 Describe different software development lifecycles

LO2 Explain the importance of a feasibility study

LO3 Undertake a software development lifecycle

LO4 Discuss the suitability of software behavioural design techniques.

3 LECTURE & ASSESSMENTS SCHEDULE


Week Session Learning Objectives / Topics Activities & Assessments CLO
Mapping
1 Course Introduction and Unit Specification 1
Review

Topic:
● SDLC models

Sample activities:

● Group discussion on the systems


development lifecycle (SDLC) and the
value of this expertise to the
organisation. Explain use of
predictive (Waterfall, Prototyping,
RAD) and adaptive (Spiral, Agile,
interactive Lecture,
DSDM) software development Home-Work
models.

● Group activity: Finding examples of


SDLC projects to introduce a new
product or service.

● Show video of a predictive and


adaptive SDLC case study.

● Introduce SDLC as a scientific


approach to analysis and
synthesis activities in a systems
development.
Activity: Discuss suitability of different SDLC
models depending on the development
environment.
2 Topic: SDLC stages 1
Sample activities:

● Discussion on lifecycle stage and Students’ PowerPoint


connectivity: (feasibility study,

Page 2
Unit 7: Software Development Lifecycles
analysis, design, implementation,
testing, review) or (analysis, design,
implementation, maintenance,
planning).

● Group activity: Discussion to


explore how SDLC activities can be
organised effectively.

● Show video of a case study,


describing the activities and
linkage between them.

● Activity: Discuss ways of


tracing the system
requirements throughout the
SDLC. Seminar in a Classroom
Activity: Students to review their own
knowledge by identifying ways of handling Topic: SDLC stages
changes in an SDLC.
Sample activities:

● Activity: Discuss the importance of


developing test harnesses, black
box/white box testing and
incremental testing in the test phase
of an SDLC. Use case studies and
scenarios to demonstrate phased
build of test environments
appropriate to the testing strategy.

Group activity: Working in groups discuss


the benefits/drawbacks of implementing
a risk based test strategy.
3 Sample activities:
1
● Identify and provide examples of
software integration and its
impact on building out test Topic: Testing
environments.
Quiz Online
● Discuss the importance of a
version control procedure to
Topic: Integration
manage software releases.
Group activity: Make a scenario where a
software release is not accepted by the
customer and suggest potential consequences
and solutions.
4 Topic: Changeover 1,2
Sample activities:

● Discuss the importance of Open Book Research


Page 3
Unit 7: Software Development Lifecycles
changeover strategies, procedures
and processes in relation to trials
and Go-Live prerequisites.

● Activity: Compare the risks


associated with different changeover
strategies including phased, pilot, based written exam
parallel and direct.

● Explore the importance of


contingency planning as part of a
changeover strategy and provide
examples.
Group activity: Identify and discuss the major
issues in changeover to operational Go-Live in
a computing project.
Sample activities:

● Discuss requirement gathering


techniques, for example: interviews,
observation, investigation of
documentation, questionnaires or
focus groups.

● Activity: Engage students in Topic: Analysis – software


interview role playing to establish requirement
requirements. Use the scenario to
derive complete, concise and
unambiguous requirements.
Group activity: Students roleplay to
observe a task and record it. Afterwards
compare notes to show subjective
differences.
5 Sample activities:
2
Topic: Analysis – key
● Explore key drivers for SDLC (e.g. drivers
performance and efficiency, legacy
systems upgrade, automation, Assignment-1 Handout
elimination of human error).
Topic: Analysis – feasibility
● Discuss the importance of study
identifying key drivers to establish
scope of SDLC project.

● Introduce students to the concept


of AS-IS / TO- BE system state as
explain using an example.

● Activity: Students use a case study


to extract key drivers.
Group activity: Discuss the importance of

Page 4
Unit 7: Software Development Lifecycles
deriving key drivers to justify carrying out the
SDLC.
Sample activities:

● Discuss the need for a feasibility


study: Identifying legal, social,
economic, technical and timescales
factors.

● Group activity: Discuss SDLC


purpose and anticipated
outcomes in relation to proposed
solutions.
Activity: Students to make a comparative
analysis between two competing solutions.
6 2
Sample activities:

● Introduce the notion of functional


and non- functional user
requirements, and constraints.

● Discuss how MosCoW method


can be used to prioritise
requirements.
Activity: Students to be given a case study to
Topic: Analysis – types of
investigate the MosCoW prioritisation of
requirements
requirements and types.

Sample activities: Topic: Analysis – summary


● Discuss, using case study
examples, the importance of
clarifying requirements using
sorting and filtering of
collected data.
Activity: Using a case study example, complete
a team activity that demonstrates the
importance of requirements gathering as an
iterative process.
7 Sample activities: Topic: SDLC execution – 3
scoping
● Introduce students to stakeholders,
requirements identification and
specification (e.g. scope, inputs,
outputs, processes and process
descriptors).

● Discuss the importance of


selecting the right solution
aligned with technology and
business roadmaps. Discuss
quality assurance required.

Page 5
Unit 7: Software Development Lifecycles
Activity: Group discussions. Topics can be
selected by each group, researched and
debated by each team member. The focus
should be the challenge of scoping an SDLC
project agreeable to the client and supplier.
Sample activities:

● Constraints: Specific to activity (e.g.


costs, organisational policies, legacy
systems, hardware requirements).

● Group discussion of constraints


specific to activity (e.g. costs,
organisational policies, legacy Topic: SDLC execution –
systems, hardware requirements). constraints

● Discuss how constraints impact on


selection of solution for
development.
Group activity: Research how SDLC
projects use trade-off negotiations to
agree constraints.
8 Sample activities:

● Discuss the importance of 3


developing report documentation
throughout the SDLC (including
background information, problem Topic: SDLC execution –
statements, data collection process documentation
and summary, recommendations,
appendices) and its impact on
successful project outcomes.
Activity: Students to investigate the importance
of the need for documentation to be produced
and benefits from requirements traceability
throughout the SDLC.
Sample activities: Topic: SDLC execution –
design
● Systems analyst guest speaker to
discuss the importance of systems
analysis terminology and tools in
design phase (including data stores
and entities, data flows; process
representation techniques, data
relationships – 1:1, 1:Many (1:M) and
Many: Many (M:M)).
Activity: Students to ask questions to speaker.
9 Topic: SDLC execution – 3,4
Sample activities: design
● Introduce students to design and

Page 6
Unit 7: Software Development Lifecycles
engineering techniques relevant to
chosen methodology (e.g. Context
Diagrams, Data Flow Diagrams
(DFDs), Entity Relationship Diagrams
(ERDs), Business Systems Options
(BSOs), Technical Systems Options
(TSOs)) and quality considerations
(e.g. Total Quality Management
(TQM)).
Group activity: Students to investigate the
importance of HCI in the design of solutions.

Sample activities:

● Techniques: Flowcharts,
pseudocode and formal
specification methods.

● Introduce students to software


behavioural design techniques
including flowcharts, pseudocode
and formal specification methods. Topic: Formal behavioural
design techniques
● Activity: Produce an analysis of the
use of formal specification
techniques to determine software
behaviour.

Group activity: Discuss the importance of


statistical techniques to evaluate the
performance behaviour of software.
10 Sample activities:
4

● Introduce event/state/data driven


techniques to specify software
behaviour. Discuss, using an
example, the advantages of each
technique and where it is
Topic: Event/state/data
appropriate. driven behavioural design
techniques
● Activity: Discuss the advantages
of using data driven design
techniques in maintaining
software.
Group activity: Discuss the use of state driven
software for particular applications and sketch
corresponding FSM state diagrams.
11 Sample activities: Topic: Finite state machine 4
behavioural design
● Introduce, using an example, the technique

Page 7
Unit 7: Software Development Lifecycles
FSM technique to design software
behaviour.

● Discussion on use of e-FSM to


describe system states of
cooperating software (e.g.
telephone network).

● Introduce the notion of state


explosion for e- FSMs.
Group activity: Select an application and
construct a state diagram to specify the
behaviour of the control software.

Sample activities: Topic: Reachability, safety


and liveness
● Introduce, using examples the
notion of reachability, safety
and liveness in software.

● Activity: Research a control


application and investigate
techniques to test for
reachability, safety and liveness
properties in the software.

Group activity: Assess the implications of


behavioural design errors in safety
critical software.
12 Sample activities: Assessment 2 4
Topic: Automatic analysis
● Introduce state of the art software and animation tools
analysis tools to measure and test
for reachability, safety and liveness
properties.

● Activity: Demonstrate the use of


animation tools to exercise
software.
Group activity: Survey and make comparative
analysis of latest automatic analysis and
animation tools.
4 TEXTS
4.1 REQUIRED TEXT
Dennis, A. and Haley, W. (2009) Systems Analysis and Design. John Wiley & Sons
Ltd.

Lejk, M. and Deeks, D. (2002) An Introduction to System Analysis Techniques. 2nd


edn. Addison-Wesley.

Murch, R. (2012) The Software Development Lifecycle: A Complete Guide. Kindle.


Page 8
Unit 7: Software Development Lifecycles
Smart, J. F. (2014) BDD in Action: Behavior-driven development for the whole
software lifecycle. Manning.

Web

www.freetutes.com FreeTutes Systems Analysis and Design – Complete Introductory


Tutorial for Software Engineering (Tutorial)

www.ijcsi.org IJCSI International Journal of Computer Science Vol. 7, Issue 5,


September 2010 A Comparison Between Five Models Of Software Engineering
(Research)

www.ijcsi.org IJCSI International Journal of Computer Science Vol. 6, Issue 1, 2015


Software Development Life Cycle Models – Comparison, Consequences (Research)
COPYRIGHT NOTICE: The British Applied College complies with UAE Federal Law No. (7) of 2002 pertaining to Copyrights
and Neighboring Rights. Severe penalties apply for copyright violations. No copied materials will be allowed on campus, except
where permitted as per UAE Federal Law No. (7) of 2002. Any copied materials that violate UAE Laws or BACU Policies will be
confiscated in the first instance and disciplinary actions may be taken against the person(s) involved.

4.2 RECOMMENDED READINGS & RESOURCES


“https://phoenixnap.com/blog/software-development-life-cycle#:~:text=Software%20Development
%20Life%20Cycle%20is,%2C%20Test%2C%20Deploy%2C%20Maintain.”
“https://stackify.com/what-is-sdlc/”
“https://aristeksystems.com/blog/business-analysis-artifacts/”
“https://www.tracearchaeology.com.au/heritage-assessments-built-historic/artefact-analysis”
“https://www.hexacta.com/infographic-software-development-project-roles-and-responsibilities/
#:~:text=concerning%20the%20project.-,MAIN%20RESPONSIBILITIES%3A,and%20update%20the
%20product%20backlog.”
“https://djangostars.com/blog/roles-in-the-sdlc/”
“https://thinkpositive.ae/the-importance-of-a-feasibility-study/”
“https://www.synopsys.com/glossary/what-is-sdlc.html”
“https://home.cs.colorado.edu/~kena/classes/5828/s10/presentations/softwaredesign.pdf”
“https://link.springer.com/chapter/10.1007/978-3-319-09970-5_2”
“‘https://www.capterra.com/resources/best-free-animation-software/”

The recommended readings above are available online or at the BACU Library or at the
course Moodle site. Students are also encouraged to use other resources as references to
support their learning in this subject. Students should follow current developments in the field
through various digital media.

5 ASSESSMENTS
5.1 ASSESSMENT OF LEARNING OUTCOMES & QFE MAPPINGS
Course Learning Outcomes (CLOs) Measures QFE QFE
Students will: Level 6 Level 7

LO1 Describe different software development lifecycles Assessment 1

LO2 Explain the importance of a feasibility study Assessment 1

LO3 Undertake a software development lifecycle Assessment 2

Page 9
Unit 7: Software Development Lifecycles
LO4 Discuss the suitability of software behavioural design Assessment 2
techniques

5.2 MAPPING OF LEARNING OUTCOMES & PROGRAM LEARNING OUTCOMES

Course Learning Outcomes (CLOs) Program Learning


Outcomes (PLOs)
LO1 Describe different software development lifecycles A critical understanding
of the evolving concepts,
theories and models
within the study of
computing across a
range of practical and
hypothetical scenarios.
LO2 Explain the importance of a feasibility study Evidence the ability to
show client relationship
management and
develop appropriate
policies and strategies to
meet stakeholder
expectations.
LO3 Undertake a software development lifecycle Critique a range of
systems and operations
and their application to
maximise and
successfully meet
strategic objectives.
LO4 Discuss the suitability of software behavioural design Communicate confidently
techniques and effectively, both
orally and in writing, both
internally and externally
with organisations and
other stakeholders.

5.3 ASSESSMENT TASKS, DUE DATES, TYPES & CLO MAPPING

Assessment Task CLOs Type Due Date Weight


Assessment 1 1,2 Uncontrolled Week 9 50%
Assessment 2 3,4 controlled Week 12 50%

5.4 ASSESSMENTS DETAILS

Assessment #1 (The Software Development Lifecycle I)

You work as a Junior Systems Analyst at Phonyt Digital Solutions (PDS), an independent
software development company that specialises in designing and creating bespoke computer
systems to meet individual client requirements.

Page 10
Unit 7: Software Development Lifecycles
Enomy-Finances is an organisation in the financial sector that provides advice and services
related to mortgages, savings and investments.

Enomy-Finances has recently seen an increase in demand for its services and is expanding
to meet this demand. They would like a new computer system to support both staff and
clients.
The Project Client – the Enomy-Finances Chief Technical Officer – has asked PDS if they
would be interested in designing and implementing the new computer system. The client has
specified that the new system must be deployed on an upgraded infrastructure.

The CEO has asked you carry out a preliminary software investigation on the new system to
be developed prior to taking on the project.

You are to identify the appropriate software methodology to be used should PDS agree to
take on the project. You have also been asked to carry out a basic investigation into the
project to determine scope, requirements, constraints and to identify core system processes.

You are required to generate some simple software designs to present to the project client to
make sure that you have understood their requirements correctly.

PDS has a range of in-house expertise using a range of software development paradigms –
Event, Object Oriented, Procedural and Functional Programming. You have been given the
freedom to select the most appropriate development approach and the appropriate project
lifecycle methodology.

The requirements of the Enomy-Finances project are listed in Appendix 1 – U7


EnomyFinances Client Project Information and it contains further information about the
application you are required to investigate. Ensure that you read the information carefully
before you attempt this assignment.

The current system is a networked application, but the project client has expressed an
interest in possibly moving to a web-based system.

The project client has agreed that, if required, they can be available throughout the project to
answer any questions.

Activity 1

Write a research paper that reviews the different software development lifecycle models
available to PDS.

Your research paper should include the following.

● An overview of different lifecycle models that could be applied to solving the problem. Your
overview should contain, as a minimum, coverage of two iterative and two sequential
software lifecycle models
● A consideration of different risks to this software project and to software lifecycle models in
general, and how these risks can be managed
● A recommendation of an appropriate SDLC model that could be implemented, supported
by:
o a discussion of the benefits and drawbacks of your chosen SDLC mode

Page 11
Unit 7: Software Development Lifecycles
o judgements as to the appropriateness of your chosen SDLC model for the Enomy Finances
project.
● A supported assessment of the merits of using the Waterfall lifecycle model on largescale
projects, such as the Enomy-Finances project
● You should support the points you make in the paper with well-chosen examples from the
appendix, and other relevant examples from any research you have carried out on related
sectors or projects.

Activity 2

Write an evaluative report that explores the importance of feasibility studies in large-scale
computer projects. Your report should include the following.

● Consideration of the contents and purpose of a feasibility report, which includes:

o an explanation of the purpose of a feasibility study


o an overview of how different technical solutions, for an identified set of problems, can be
compared
o a discussion of the different components of a feasibility report.

● An assessment of the impact that a feasibility study would have on the Enomy-Finances
project, with reference to specific identified feasibility criteria.

You should support the points you make in the report with well-chosen examples from the
appendix, and other relevant examples from any research you have carried out on related
sectors or projects.

Deliverables:

- A written report
- A written portfolio
- A formal 10-minute presentation

Marking Criteria for assignment 1 will be shared and discussed in class a week before the due date.

Assessment #2 (The Software Development Lifecycle II)

Activity 3

Carry out a software development lifecycle

● Apply an appropriate software development approach to investigate the implementation of


the application for the Enomy-Finances project
● As part of your planning you should produce a written report that: ● identifies stakeholder
requirements
● plans the scope of the module, including inputs, outputs, processes and process
descriptors, consideration of alternate solutions and security considerations
● explores relevant constraints
● presents a set of functional and non-functional requirements
● includes the design of a solution that could be implemented and communicates
understanding of the program effectively, including:

Page 12
Unit 7: Software Development Lifecycles
o algorithmic software designs to, for example, flowcharts, pseudocode
o logical software design, including a finite staan te machine (FSM) and an extended FSM,
making sure that there is example of both being used, as well as an explanation of the
differences between them
o data designs, e.g. DFDs, ERDs, Context Diagrams, Data Dictionaries
o Business Systems Options and Technical Systems Options.

Activity 4

Evaluate the process

Produce a formal presentation (with supporting notes) that communicates an evaluation of


your investigation process to your manager. The report should include the following.

● An analysis of how software requirements for the management data analytics module were
traced throughout the entire software lifecyle

● A discussion of at least two approaches to improving software quality within a software


lifecycle

● An evaluation of the suitability of your investigation in relation to the needs of


EnomyFinances, to include:

o a discussion, using examples, of the suitability of the software behavioural design


techniques you choose

o an analysis of your chosen software behavioural tools and techniques for investigating the
given problem

o more than one justification of how data driven software can improve the reliability and
effectiveness of the software solution

o how the investigative process you have undertaken on the Enomy-Finances project will
affect improving the eventual quality of the implemented software application.

You should support the points you make in the report with well-chosen examples from the
information booklet, and other relevant examples from any research you have carried out on
related sectors or projects.

Deliverables:

- A written report
- A written portfolio
- A formal 10-minute presentation

Page 13
Unit 7: Software Development Lifecycles
5.4 GRADES AWARDED AND SATISFACTORY COMPLETION REQUIREMENTS

The approved grades and associated ranges of marks for Undergraduate Bachelor’s degrees
subjects are:

Letter Grade Grade Range


Distinction (D) 90 – 100%
Merit (M) 75 – 89%
Pass (P) 50 – 74%
Re-Submit (R) 48 - 49%
Fail (F) 0 – 47% or not meeting the attendance policy

The approved grades and associated ranges of marks for BTEC Higher National Diplomas (HNDs)
subjects are:

Letter Grade Criteria


Distinction (D) All Pass, Merit, and Distinction learning outcomes criteria were achieved.
Merit (M) All Pass and Merit learning outcomes criteria were achieved.
Pass (P) All Pass learning outcomes criteria were achieved.
Re-Submit (R) Some Pass learning outcomes criteria were NOT achieved. Another chance
was given to the student to resubmit.
Fail (F) Some Pass learning outcomes criteria were still NOT achieved after the Re-
submit period or not meeting the attendance policy

Students must ‘reasonably’ complete all assessment tasks (including the required score for
any Major Examinations) and submit these as specified in the subject outline. ‘Reasonable’
completion of an assessment task will be determined based on the instructions given to the
student including: word length, demonstration of research and analysis where required,
adherence to the Plagiarism Policy guidelines, and completion of each section/component of
the assessment. Failure to ‘reasonably’ complete any assessment tasks to the standard
specified above may result in a Fail grade awarded for the subject.

6 RELEVANT POLICIES AND DOCUMENTS


All students must read and be familiar with the following BACU policies and documents, which
are available on the Student Online Resources on the Moodle LMS by following the Policies
link:
 Academic Grievance – Students / Assessment Policy
 Attendance Policy / Code of Conduct – Library Users
 Code of Practice – Students/ Copyright Policy / Information Literacies Rule
 Library Regulations / Minimum Rate of Progress

Page 14
Unit 7: Software Development Lifecycles
 Music, Video and Software Piracy/ Plagiarism Policy / Plagiarism – Acknowledgement
Practice/ Rules – Campus Access and Order
 Rules for Student Conduct and Discipline/ Rules for use of ITTS Facilities
 Special Consideration Policy

7 PLAGIARISM
Plagiarism is a serious offense that can lead to expulsion from the university. Students must
be familiar with the Plagiarism policy which outlines the procedure that will be followed in case
of plagiarism. For more information please refer to the Plagiarism policy available on Moodle
or ask the student support services dept.

8 REFERENCING & IN-TEXT CITATION


For information about Referencing and In-Text Citation, as well as a guide to some of the
BACU Rules and Policies, please go to Moodle or ask the student support services dept.

9 ATTENDANCE REQUIREMENTS
Attendance in this subject is compulsory. Failure to attend 75% or more of the lectures or
tutorial sessions (without proper medical or sick leave) as per the Student Attendance Policy
will result in a FAIL grade. Students are strongly encouraged to become familiar with this
policy (which can be found online.

10 SUPPLEMENTARY ASSESSMENTS & RE-SUBMIT (R) OPTIONS


A supplementary assessment may be offered to students whose performance in this subject is
close (48-49) to that required to pass the subject, and are otherwise identified as meriting an
offer of a supplementary assessment. The precise form of a supplementary assessment will be
determined at the time the offer of a supplementary is made.

Page 15
Unit 7: Software Development Lifecycles

You might also like