System development life cycle, Assignments of Combinatorics

The systems development life cycle (SDLC) is a conceptual model used in project management that describes the stages involved in an information system development project, from an initial feasibility study through maintenance of the completed application. SDLC can apply to technical and non-technical systems.

Typology: Assignments

2020/2021

Uploaded on 06/04/2021

khang-phan-van
khang-phan-van 🇻🇳

4.5

(26)

7 documents

1 / 72

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Higher Nationals in Computing
Unit 09: SOFTWARE DEVELOPMENT LIFE CYCLE
ASSIGNMENT2
Assessor name: VO NGOC MAI
Learner’s name: DANG AN THANH
ID: GCS190644
Class: GCS0805_PPT
Subject code: 1631
Assignment due: 23/12/2020 Assignment submitted: 18/12/2 0 2 0
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48

Partial preview of the text

Download System development life cycle and more Assignments Combinatorics in PDF only on Docsity!

Higher Nationals in Computing

Unit 09 : SOFTWARE DEVELOPMENT LIFE CYCLE

ASSIGNMENT 2

Assessor name: VO NGOC MAI

Learner’s name: DANG AN THANH

ID: GCS

Class: GCS0805_PPT

Subject code: 16 31

Assignment due: 23/12/2020 Assignment submitted: 1 8 / 1 2 / 2 0 2 0

ASSIGNMENT 2 FRONT SHEET

Qualification BTEC Level 5 HND Diploma in Computing Unit number and title Unit 9 : Software Development Life Cycle Submission date 18/12/2020 Date Received 1st submission Re-submission Date Date Received 2nd submission Student Name Dang An Thanh Student ID GCS Class GCS0805_PPT Assessor name Vo Ngoc Mai Student declaration I certify that the assignment submission is entirely my own work and I fully understand the consequences of plagiarism. I understand that making a false declaration is a form of malpractice. Student’s signature THANH Grading grid P5 P6 P7 M3 M4 M5 M6 D3 D

ASSIGNMENT 2 BRIEF Qualification BTEC Level 5 HND Diploma in Computing Unit number Unit 9 : Software Development Life Cycle Assignment title Undertake a Software Development Lifecycle Academic Year 2020 – 2021 Unit Tutor Vo Ngoc Mai Issue date Submission date 18/12/ IV name and date Submission Format: Format: The submission is in the form of 1 document You must use font Calibri size 12, set number of the pages and use multiple line spacing at 1.3. Margins must be: left: 1.25 cm; right: 1 cm; top: 1 cm and bottom: 1 cm. The reference follows Harvard referencing system. Submission Students are compulsory to submit the assignment in due date and in a way requested by the Tutors. The form of submission will be a soft copy posted on http://cms.greenwich.edu.vn/ Note: The Assignment must be your own work, and not copied by or from another student or from books etc. If you use ideas, quotes or data (such as diagrams) from books, journals or other sources, you must reference your sources, using the Harvard style. Make sure that you know how to reference properly, and that understand the guidelines on plagiarism. If you do not, you definitely get failed Unit Learning Outcomes: LO3 Undertake a software development lifecycle LO4 Discuss the suitability of software behavioral design techniques Assignment Brief and Guidance:

Task Now your team had been accepted to create the Software to Tune Source. As a member of a development team, your task now is to produce the requirements for Tune Source. You also need to specify the technique(s) or processes you used in order to get these requirements. Task 2 Based on the requirements which established in Task1 provide the following diagrams: Use Case, ERD, DFD.. which can help to identify more clearly about the system you are going to implement. Task 3 Based on your understanding about the Tune Source’s requirements in Task1 and Task 2, show how the requirement can be addressed. Your method could include software behavioral specification methods and reliability and effectiveness of software. Task 4 Your client wants to improve the software quality. Create a report which shows how software quality could be improved from tracing requirements and programmed design.

Table of Contents

  • Unit 09: SOFTWARE DEVELOPMENT LIFE CYCLE
  • P5 Undertake a software investigation to meet a business need.
      1. Identify the stakeholders, their roles and interests in the case study.
      • 1.1. Internal stakeholders:
      • 1.2. External stakeholders:
      1. Project scope and constraints.
      • 2.1. Time and cost
        • 2.1.1. PERT Estimation Technique
        • 2.1.2. Estimate the time to complete the Tune Source project:
        • 2.1.3. Estimate the cost of the Tune Source project:
      • 2.2. Scope
      • 2.3. Quality
      • 2.4. Risk
      • 2.5. How SDLC projects use trade-off negotiations to agree constraints.
      1. Definition of project NFRs
      1. Definition project of FRs
      1. Relationships between the FRs and NFRs.....................................................................................
      1. Discuss the technique(s) you would use to obtain the requirements.
      • 6.1. Interview:
      • 6.2. Questionnaire:
      • 6.3. Joint Application Development
      • 6.4. Observation
      • 6.5. Documentation Analysis
  • M3 Analyse how software requirements can be traced throughout the software lifecycle....................
      1. What is software requirement?
      1. Requirement Management
      1. Traceability Matrix for Tune Source
      • 3.1. What is traceability matrix?
      • 3.2. What is requirement traceability matrix?
      • 3.3. Why is requirement traceability matrix important?
      • 3.4. Traceability Matrix of Tune Source:
  • supporting documentation. P6 Use appropriate software analysis tools/techniques to carry out a software investigation and create
      1. Introduction software analysis tools:
      1. Data flow diagram.....................................................................................................................
      • 2.1. Level context
      • 2.2. Level
      • 2.3. Level
      1. ERD diagram
      1. Pseudocode
      1. Flow chart
      • 5.1. Flowchart of Tune Source System
      • 5.2. Flowchart of Sign in / Register
      • 5.3. Flowchart of Search song
  • M4 Discuss two approaches to improving software quality.
      1. Discuss software quality attributes that are applicable to the project.
      • 1.1. What quality attributes that are applicable to the Tune Source Project?
    • project. 2. Discuss two quality assurance techniques that can help improve the software quality in the
      • 2.1. Components of a Software Quality Program:
      • 2.2. Employ Test-Oriented Software Development Management
        • 2.2.1. Definition Of Test-Driven Development:
        • 2.2.2. Benefits Of Test-Driven Development:
  • lifecycle can improve software quality. D 3 Critically evaluate how the use of the function design paradigm in the software development
      1. Definition Of Function Design Paradigm.
    • Quality............................................................................................................................................. 2. Use of Function Design Paradigm In The Software Development Lifecycle To Improve Software
  • P7 Explain how user and software requirements have been addressed.
      1. Identifying the Major Use Cases
      1. Elaborating on the Use Cases.....................................................................................................
  • M5 Suggest two software behavioural specification methods and illustrate their use with an example.
      1. Program specification................................................................................................................
      • 1.1. Syntax
      • 1.2. Events
      • 1.3. Pseudocode
      • 1.4. Flowchart
      1. Applying the concepts at Tune Source
  • for both............................................................................................................................................... M6 Differentiate between a finite state machine (FSM) and an extended- FSM, providing an application
      1. What is Finite State Machine (FSM)?
      • 1.1. Deterministic Finite Automation
      • 1.2. Nondeterministic finite automation
      • 1.3. Applications of finite state machine
      1. Extended Finite State Machine
      1. Difference between finite and extended finite state machine
  • software. D4 Present justifications of how data driven software can improve the reliability and effectiveness of
      1. Definition of Data Driven Software
      1. Data Driven Software for Improvement Of Reliability And Effectiveness Of The Software
      1. Improving The Dependability And Effectiveness Of The Software Using Data Driven Software
  • REFERENCES
  • Figure 1 Identify Stakeholders List of Figures
  • Figure 2 Non-functional requirements
  • Figure 3 Functional requirements
  • Figure 4 Level context
  • Figure 5 Level
  • Figure 6 SIGN IN
  • Figure 7 SIGN UP
  • Figure 8 Search Song
  • Figure 9 Listen song sample
  • Figure 10 Buy gift card
  • Figure 11 ERD diagram
  • Figure 12 Pseudocode...................................................................................................................................................
  • Figure 13 Flowchart of Tune Source
  • Figure 14 Flowchart of Login and register
  • Figure 15 Flowchart of Search song
  • Figure 16 Use Cases of Tune Source
  • Figure 17 Elaborating purchase gift-card......................................................................................................................
  • Figure 18 Elaborating Manage End-user.......................................................................................................................
  • Figure 19 Elaborating sign up
  • Figure 20 Data-Driven Software

P a g e | 1 ASSIGNMENT 2 ANSWERS P5 Undertake a software investigation to meet a business need.

1. Identify the stakeholders, their roles and interests in the case study. − Identify Stakeholders is the first process of the Project Communications Management Knowledge Area, and part of the Initiating process group. This process involves identifying and documenting all the stakeholders on the project, including their interests, impact, and potential negative influences on the project. Stakeholder identification should occur as early as possible in the project and continue throughout its life. Figure 1 Identify Stakeholders − In a project, there are both internal and external stakeholders: 1.1. Internal stakeholders: − Internal stakeholders may include top management, project team members, your manager, peers, resource manager, and internal customers. For example, in Tune Source Project: Founders: ✓ John Margolis ✓ Megan Taylor

P a g e | 3 2.1.2. Estimate the time to complete the Tune Source project: E = (a + 4m + b): 6 = (75 + 4 x 98 + 120): 6 = 98 days 2.1.3. Estimate the cost of the Tune Source project: TE = (a + 4m + b): 6 = (2,100 + 4 x 2,500 + 3,000): 6 = 2,517$ 2.2. Scope − Scope cannot be easily defined. The scope of mentioning specific products has been agreed upon by the project owners. Range tolerance may also show under negative range, for example, the project owner wants to develop more items, but if you lack time or money, you can accept it if you don't. produce those goods. Either of these situations might occur when there are essentials that the project must deliver, but there are other items which are discretionary, or can be delivered at a later date without compromising the project's key objectives. 2.3. Quality − The actual quality constraint is quite similar to the scope except that quality focuses on the characteristics of a deliverable product. Quality works in the same mode as the other constraints. For example, if a project is running late or over budget, the project manager may still be able to deliver the expected items - but they might not be tested as thoroughly or some characteristics of that item may be reduced or eliminated. This is how quality operates as a constraint. Some models of the triple constraint triangle use quality instead of scope as the 3rd leg of the triangle. In many classic situations, when time or cost was strained, it was quality - usually through less testing or verification, but sometimes through dropped characteristics - that was compromised. 2.4. Risk − Everyone recognizes the Risk on a project needs to be addressed and managed. We can see that in any project there may be a level of risk that we are simply not willing to live with, or “tolerate.” That is our risk tolerance. Its simplest and most common expression is in examining the probability of significant risks occurring, their potential impact on the project if they do

P a g e | 4 occur, and our degree of willingness to live with those potential consequences. Risk refers to “opportunities” as well as “threats,” and can be applied in a similar manner. 2.5. How SDLC projects use trade-off negotiations to agree constraints. − The trade-off matrix is not a new idea and it is not for agile development. Each product manager is familiar with the three constraint (scope, time, cost). When any of these factors changes, it requires a different trade-off. The trade-off triangle is a useful tool to educate customers and sponsors about the unbreakable relationship between time, scope and cost. Using the swap matrix takes this conversation one step further. It requires the workgroup to recognize the reality of the project by classifying each type of fixed constraint, selecting or adjusting. The trade-off matrix is often used as an internal tool for conversation and agreement by the development team. In the agile world, however, it becomes a much more inclusive conversation, in which sponsors, managers, and users also participate in the conversation and have a vote in the outcome.

3. Definition of project NFRs − While functional requirements define what the system does or must not do, non-functional requirements specify how the system should do it. Non-functional requirements do not affect the basic functionality of the system (hence the name, non-functional requirements). Even if the non-functional requirements are not met, the system will still perform its basic purpose. − If a system will still perform without meeting the non-functional requirements, why are they important? The answer is usability. Non-functional requirements define system behavior, features, and general characteristics that affect the user experience. How well non-functional requirements are defined and executed determines how easy the system is to use, and is used to judge system performance. Non-functional requirements are product properties and focus on user expectations. − There are more examples below, but for now, think about a functional requirement that the system loads a webpage after someone clicks on a button. There should be a related non- functional requirement specifying how fast the webpage must load. Without it, the user

P a g e | 6

4. Definition project of FRs − Functional requirements define the basic system behavior. Essentially, they are what the system does or must not do, and can be thought of in terms of how the system responds to inputs. Functional requirements usually define if/then behaviors and include calculations, data input, and business processes. Figure 3 Functional requirements − Functional requirements are features that allow the system to function as it was intended. Put another way, if the functional requirements are not met, the system will not work. Functional requirements are product features and focus on user requirements. − Functional requirements of tune source are:

+ Search for music in our digital music archive.

+ Listen to music samples.

+ Purchase individual downloads at a fixed fee per download.

+ Establish a customer subscription account permitting unlimited downloads for a monthly fee.

+ Purchase music download gift cards.

5. Relationships between the FRs and NFRs Parameters Functional requirements Non-functional requirements What it is Verb Attributes Requirement It is mandatory It is non-mandatory Capturing type It is captured in use case. It is captured as a quality attribute.

P a g e | 7 End result Product feature Product properties Capturing Easy to capture Hard to capture Objective Helps you verify the functionality of the software. Helps you to verify the performance of the software. Area of focus Focus on user requirement Concentrates on the user's expectation. Documentation Describe what the product does Describes how the product works Type of Testing Functional Testing like System, Integration, End to End, API testing, etc. Non-Functional Testing like Performance, Stress, Usability, Security testing, etc. Test Execution Test Execution is done before non- functional testing. After the functional testing Product Info Product Features Product Properties

6. Discuss the technique(s) you would use to obtain the requirements. − The second phase of the systems development life cycle is analysis phase. The analysis phase is the most important stage in SDLC. A study by project management consulting company, PM Solutions identified the top cause of a troubled project was poor requirements. The 2004 CHAOS report from the Standish Group indicated that project success rates were only 34%, the rest were either challenged or failed. They also noted that poor requirements were very common in project failures, as they listed it third on their list common factors of project failures. Interestingly enough, they noted lack of stakeholder involvement as first on their list. Lack of stakeholder involvement, however, can also be tied into poor requirements. When the stakeholders aren’t heavily involved, or have poor dialogue between the systems analyst, this directly leads to poor requirements. − Poor requirements have a significant impact on the end results of systems or projects. Requirements are the “blueprints” that everyone involved on the project uses to work from.

P a g e | 9

  • Domain knowledge and Skills: A good project manager should have 2 features—experience, as well as an in-depth understanding of project management theories. While one without the other hinders performance, in order to be the ideal project manager, you must have a solid foundation in project management principles.
  • Clear Communication: One of the most important skills for project managers is communication. Without this everything else fails. Communication is the life and blood of any project. It’s claimed that about 90 percent of a project manager’s time is spent communicating. In today's organizations, communication happens between various groups and levels, including internal as well as external groups of stakeholders.
  • Consistency and Integrity: Honesty and trustworthiness are of utmost importance in the world of business. Project managers manage critical responsibilities and resources such as material, money, and human resources. They also represent the organization to employees, customers, and vendors. They are role models for their team members. Any lack of consistency and integrity can cost the organization a lot more than money.
  • Customer Orientation: Project managers are responsible for understanding the need of the customer and responding in a timely, efficient manner in ways that meet customer expectations. They are also responsible for establishing and maintaining effective relationships and gaining the trust and respect of customers.
  • Developing Others: A project manager relies on their team to execute activities in order to achieve the desired results. It is important that a project manager can assess talent, contribute actively towards developing, mentor and coach team members and offer constructive feedback to them.
  • Effective Delegation: One of the key success factors for a project manager is effective delegation. How effectively can you get work done through others? Delegation must happen through empowerment without interference or loss of control.
  • Goal Focus: Being focused on goals is absolutely essential for project managers. You need a clear focus to succeed. It is important for candidates to demonstrate the ability to align resources to achieve key objectives, to plan and identify ways to improve and achieve greater efficiency and to monitor and fine-tune execution with agility, hard work, perseverance, and good judgment.

P a g e | 10

  • Managing ambiguity and Risks: A project manager has to deal with uncertainty. It is important that you can identify and prioritize risks and take appropriate action in ambiguous situations. It is equally important to manage others’ concerns in changing environments.
  • Prioritizing and time management: A project manager must tackle multiple tasks and issues. To be a successful project manager, you have to choose your battles wisely. Since resources are always limited, they need to be prioritized. Time is a valuable resource for the project because once lost it cannot be recovered easily. As a result, time management is one of the key skills for any project manager
  • Proactive decision making: A project manager needs to be able to identify and prevent issues from impacting the project adversely. It is important that the candidate demonstrates the ability to take proactive steps, avoid procrastination, and not shy away from making tough decisions. Thus, candidates are often asked to share examples and real-life scenarios from their projects and life where they made proactive decisions 6.2. Questionnaire: − On the other hand, questionnaire is a tool to ask interviewees. There are two types of question, closed question and opened question. Closed question usually followed by available answer is a common type in questionnaires. Opened question demand further explore by questionnaire. In order to get information as much as possible, opened question is suggested because it motivate people to answer in their own idea, their own feelings. Here some example questions:

+ What is the main aim of the Tune Source? How many employees or clients Tune Source may

recruit?

+ What type of technologies does Tune Source use? Is there another efficient way?

+ How to improve customer experiences?

+ How Tune Source can sell it product to the customer?

6.3. Joint Application Development − JAD is a methodology that involves the client or end user in the design and development of an application, through a succession of collaborative workshops called JAD sessions. Chuck Morris and Tony Crawford, both of IBM, developed JAD in the late 1970s and began teaching