Skip to document
This is a Premium Document. Some documents on Studocu are Premium. Upgrade to Premium to unlock it.

Unit 22 assignment 1 (full)

distinction level
Subject

Computer Science

264 Documents
Students shared 264 documents in this course
Academic year: 2022/2023
Uploaded by:
Anonymous Student
This document has been uploaded by a student, just like you, who decided to remain anonymous.
Sutton Grammar School

Comments

Please sign in or register to post comments.

Preview text

Contents

  • UNIT
  • ASSIGNMENT
  • Introduction...........................................................................................................................................
  • Waterfall model.....................................................................................................................................
  • Systems life cycle...................................................................................................................................
  • Alternative models..............................................................................................................................
  • adaptive software development (ASD)................................................................................................
  • Analysis................................................................................................................................................
  • Conclusion...........................................................................................................................................
  • References...........................................................................................................................................

Advantages

 The requirements are defined precisely and consistently, and they hold true throughout the entire project's development  the resistance to changes in human resources is provided by thorough documentation at each stage of development, which enables a new developer to swiftly obtain all the essential information  Problematic difficulties are less frequent when the project development structure is carefully planned  It is simple to gauge progress because each phase's beginning and ending points are predetermined  Throughout the development process, the duties are as stable as feasible  Due to a tight reporting system, it gives the consumer easy management and transparency  Prior to development, the total cost and release date of the product can be determined.

Disadvantages

 Since all needs must be understood before development, the project's start is significantly delayed  Low levels of flexibility make it difficult, if not impossible, to make modifications while developing  To ensure that the project is completed by the deadline, careful management and frequent inspection are required  The customer does not have the chance to familiarise himself with the system beforehand, hence he does not see the finished product until that point  There won't be any room for revisions if it turns out during development that the product doesn't fulfil market demands.

Requirement’s specification

This stage is where the requirements are gathered and put into documents that will be used as a reference for what is needed for the project’s completion. This is necessary at the beginning so that everyone knows what is needed or what will be needed later.

Design

System Design helps in specifying hardware and system requirements and helps in defining overall system architecture. The software code to be written in the next stage is created now. The software code to be written in the next stage is created now.

Implementation

With inputs from system design, the system is first developed in small programs called units, which are integrated into the next phase. Each unit is developed and tested for its functionality which is referred to as Unit Testing.

Testing

The testing team is given the code. Testers run test cases manually or automatically to run through all potential bugs in the programme. The client is also involved in the testing stage to guarantee that all specifications are met. To provide quality assurance, any flaws and problems discovered during this step are corrected.

Debugging

Following the testing of each unit created during the implementation phase, the entire system is merged. Constant software testing is required to check for bugs and mistakes in the developed programme. Testing is carried out to ensure that the client has no issues installing the software.

installation and maintenance

This stage involves deploying the software into a live environment (the client's server) in order to evaluate its functionality. The programme is made available to end users once it has been implemented. This step may also involve teaching actual users to explain the system's advantages.

Definition

A new information system is developed through several stages known as the system life cycle. When a system is constructed, a lot of time and money might be lost if it doesn't function effectively or fulfil all the requirements. If a new system is well designed and developed, it has a considerably higher chance of succeeding.

investigation and analysis

A systems analyst is doing research to determine the primary issues with the current system and whether it would be technically feasible and cost-effective to create a computer-based solution to address them.

substance of the feasibility report:

 a description of the current system explaining the actions taken and the methods used  a set of problem statements outlining the specific issues with the current system  a list of system goals outlining the capabilities the new system must posses  a description of a few different options.  an explanation of the technological, economic, legal, and societal considerations  A suggested plan of action

Systems analysts study the current system to pinpoint the specific issues with it during the analysis stage. Systems analysts will gather information using a range of fact-finding techniques, such as: Interviews, questionnaires, observations, and document analysis

Design

The design phase comes next, usually after the analytical phase. All the documentation that the team produced during the analysis phase is utilised in this phase to generate the project's real technical documentation. By establishing the interfaces that will interchange data inside the workflow, project members specify the structure of project components as well as important system components throughout the design phase.

Implementation

The real software code for the system is written during the development phase, which also includes creating and deploying the system's hardware, configuring cloud systems, putting interaction protocols into place, and creating the primary test data. Therefore, it is clear why it is such a major concern.

By developing information processing methods and algorithms, preparing the project outputs, and developing a system for monitoring the system during the development phase, project teams carefully implement the system's architecture in programme code. This is made possible by the UML diagrams that were built during the design phase.

Testing

The Quality Assurance (QA) team takes proactive action to check and validate the pieces of the information system across numerous testing scenarios, be it through black box or white box testing, during this phase, which is critical since it directly affects the quality of the outputs.

By employing resources from both the system's back end and front end, as well as automated tests, the QA team contributes to improving code coverage during this phase. The QA team also conducts trial runs in this area to gather data on system behaviour and gain insights into what may be enhanced or changed for a better user and system experience.

Documentation

The production environment is ready to be deployed and made available to the public once it has undergone extensive testing. The DevOps team often handles this activity with the aid of the CI/CD approach. The adoption of cloud services, hardware, monitoring systems, complicated data maintenance protocols, security precautions, and data access controls are additional deployment requirements.

Figure 2

rapid application development (RAD)

The SDLC also encourages early planning, enables defining expenses and staffing decisions, outlining targets, assessing system performance, and validating points at all stages of the development life cycle to enhance the quality of the final product.

agile methodologies, e., Scrum, dynamic systems development method (DSDM)

The Agile technique divides a project into many parts and uses these phases to manage the project. Continuous improvement at every stage and ongoing collaboration with stakeholders are required. Teams cycle through a process of planning, carrying out, and assessing once the job starts. Collaboration between team members and project stakeholders must always be ongoing.

adaptive software development (ASD)................................................................................................

Prototyping

Rapid prototyping is a method for creating software that places a focus on short, iterative development cycles and small feature sets. Rapid prototyping does not aim to create a finished product. The objective is to construct something that makes use of a technology or platform as rapidly as possible so that you can recognise its advantages and disadvantages.

Rapid-application development (RAD), a method for adaptive software development, is another name for rapid prototyping in the software industry. Rapid prototyping places more of a focus on the adaptive process than on planning because it is frequently driven by user interface requirements.

Analysis................................................................................................................................................

Rapid prototyping is a method for creating software that places a focus on short, iterative development cycles and small feature sets. Rapid prototyping does not aim to create a finished product. The objective is to construct something that makes use of a technology or platform as rapidly as possible so that you can recognise its advantages and disadvantages.

Figure 3

Advantages

A few advantages of data flow diagrams are that it helps us to understand the functioning and the limits of system. It is also a graphical representation which is very easy to understand as it helps visualise contents. The data flow diagram represents a detailed and well-explained diagram of system components, the way it is presented is easy to understand and well organised.

Disadvantages

A few disadvantages are that at times the diagram can sometimes confuse the programmers regarding the system, and that it takes a long time to be generated as the gathering of information and forming of a suitable diagram that can be easy to follow can be difficult to do in a short amount of time, and it is usually because of this that analysts are denied permission to work on it.

Computer aided software engineering (CASE) and other

appropriate software tools

CASE is the domain of software tools used to design and implement applications. CASE tools are partly inspired by CAD (Computer Aided Design) and are quite like it as well, as it is used to design

hardware products. These tools were designed for developing high quality, defect free and maintainable software.

Some typical tool cases are:

 Code generation tools  UML editors and the like  Refactoring instruments  QVT or Model transformation instruments  configuration management tools including change control  database mapping

[ CITATION CAS \l 2057 ]

Figure 4

Advantages

The advantages of these tools are that they provide improved productivity in developments, they provide improved quality through automated checking, they have automatic preparation and regular updates of documentation, and there is encouragement of prototyping and incremental development.

  • Physical projecting. Physical information model and specification to program elements are developed and optimized. Specifications to program elements are specified and documentation is drawn up.

Advantages

One advantage of SSADM is that there are multiple angles of analysis. It is the use of 3 techniques to determine information system viability. Logical data modelling determines the entities – and the relationships between them – in the system.

Another advantage of SSADM is that there is less chance for misunderstanding. Such a deep and through analysis of a system greatly reduces the chance of any information being misunderstood at the beginning stages of project. This can occur in systems that have inadequate analysis and poorly thought-out design.

Disadvantages

The biggest drawback of SSADM is that it is time consuming and possibly expensive. When a business takes so much tome to analyse the project, it can make it difficult to create the system by a desired end date. There is a large delay between the inception of the project and the delivery of the system. If any employees of a company are not trained in the SSADM techniques.

Unified Modelling Language (UML)

UML is a standardised modelling language that consists of a collection of integrated diagrams. It was created to assist system and software developers in defining, visualising, building, and documenting the artefacts of software systems as well as business modelling and other non-software systems. The UML represents a collection of best engineering approaches that have been effective in simulating huge, complicated systems. Creating object-oriented software and the software development process both heavily rely on the UML.

Figure 6

Advantages

An advantage of UML is that it is the most used and is flexible. UML is a highly recognized and understood platform for software design. You can safely assume that the majority of software professionals will be at the very least acquainted with, if not well versed in, UML diagrams, therefore making it the go-to alternative to explain software design models.

One of the key factors in UML's increased popularity among software engineers is UML tools. There are many different types of UML tools, ranging from free open-source software to expensive ones. These tools are far more versatile than just diagramming tools. They can use design patterns, mine requirements, build code from the design, reverse-engineer existing code, and conduct impact and complexity analyses.

Disadvantages

UML can be complex and have a vast scope, which can be a disadvantage for developers as it may end up causing problems later with consistent errors, which may consume time. This can also be intimidating for a lot of people, which is why a lot of developers just end up avoiding it.

Another disadvantage that keeps developers away from UML is that it isn’t necessary to communicate designs. The same impact can be had with informal, box and line diagrams created in PowerPoint or a whiteboard. Since it is already complex, it can be off-putting for many developers looking to use it.

Structure (static) diagrams

Figure 8

Programming paradigms are simply approaching to solving problems using some programming language or also we can say it is a method to solve a problem using tools and techniques that are available to us following some approach. There are several programming languages that are well known however all of them need to follow some strategy when they are implemented, and this methodology/strategy are known as ‘paradigms.

Advantages of OOP (Object Oriented Programming)

Productivity of software development increased: In order to advance object-based applications, it is important to write computer programmes in an object-oriented manner. Additionally, as articles may be expanded to include new characteristics and procedures, it is extendable.

Software maintenance improved: Additionally, object-oriented programming is easier to keep up with. Since the plan is private, a portion of the framework can be updated if problems should exist without having to implement significant scope changes.

Disadvantages of OOP (Object Oriented Programming)

Steep expectation to learn and adapt: The perspective used in object-situated programming may not be typical for some people, and it may take some time to get used to. Making programmes is difficult because of the cooperation of the articles. Some of the fundamental programming techniques, like as inheritance and polymorphism, can be tested out to understand them at first.

Not appropriate for a wide range of issues: There are some problems that lend themselves well to the practical, rational, or strategy-based programming styles, and using object-arranged programming in those situations will not result in successful projects.

Advantages of Procedural programming

Versatility: Developers may construct coding projects that achieve a wide range of objectives thanks to procedural programming, a flexible paradigm. There is probably an efficient procedural programming language you can use to achieve your goals since procedural programming languages are developed for many different types of development projects, including software and web development.

Accessibility: Procedural programming is used by many well-known programming languages, hence there are numerous resources available to a budding developer who wants to study them. This includes both paid and free online classes, groups, and tools you can use to overcome obstacles and hasten your development.

Disadvantages of procedural programming

Accessibility: Many popular programming languages use procedural programming, so there are many resources available to an aspiring developer hoping to learn them. This includes both paid courses and free online resources and communities you can access when you encounter challenges, which can help expedite your development.

Strict data types: Immutable data is a feature of procedural programming languages. This implies that after it is created, you cannot alter its structure or functionality, which can be restrictive when compared to other languages' nearby option.

Business process reengineering (BPR)

In order to achieve significant increases in productivity, cycle times, and quality, business process reengineering entails the fundamental restructuring of key business processes. Businesses reimagine current processes to provide additional value to the consumer when they engage in business process

Was this document helpful?
This is a Premium Document. Some documents on Studocu are Premium. Upgrade to Premium to unlock it.

Unit 22 assignment 1 (full)

Subject: Computer Science

264 Documents
Students shared 264 documents in this course
DegreeGrade:

Sixth Form (A Levels)

A2 - A Level
Was this document helpful?

This is a preview

Do you want full access? Go Premium and unlock all 24 pages
  • Access to all documents

  • Get Unlimited Downloads

  • Improve your grades

Upload

Share your documents to unlock

Already Premium?
UNIT 22
ASSIGNMENT 1

Why is this page out of focus?

This is a Premium document. Become Premium to read the whole document.

Why is this page out of focus?

This is a Premium document. Become Premium to read the whole document.

Why is this page out of focus?

This is a Premium document. Become Premium to read the whole document.

Why is this page out of focus?

This is a Premium document. Become Premium to read the whole document.

Why is this page out of focus?

This is a Premium document. Become Premium to read the whole document.

Why is this page out of focus?

This is a Premium document. Become Premium to read the whole document.

Why is this page out of focus?

This is a Premium document. Become Premium to read the whole document.

Why is this page out of focus?

This is a Premium document. Become Premium to read the whole document.

Why is this page out of focus?

This is a Premium document. Become Premium to read the whole document.

Why is this page out of focus?

This is a Premium document. Become Premium to read the whole document.