You are on page 1of 6

GLADYS MUTANU BIT/0458/2018

EVANS GATHAGA BIT/0318/2016

ASSIGNMENT TWO SOFTWARE ENGINEERING TWO

1. Describe the main processes in a modern software development environment, and

the tools used to support them.

Agile Model

In the agile model, teams work in sprints to design, create, and test portions of the code, then

proceed to the next sprint and build upon what is already created. This allows for flexibility and

adaptability if requirements and user expectations change throughout the project.

Waterfall Model

In the waterfall model, each phase of development is not begun until the completion of the stage

before. This means design cannot begin until requirements are defined, development does not

begin until design is approved, and so on. This traditional approach to software design is still in

use at many companies, even though all the other models on this list were developed to correct

perceived issues with this approach.

Iterative Model

The core software is developed and released with the basic requirements and functionality. Then,

a new version of the software that improves and expands on the existing program is updated with

each subsequent release.

RAD Model

This study source was downloaded by 100000784233913 from CourseHero.com on 06-04-2022 08:12:18 GMT -05:00

https://www.coursehero.com/file/121057930/ASSIGNMENT-TWO-SOFTWARE-ENGINEERING-TWOdocx/
In the rapid application development model, after requirements are defined the program is

developed, tested, and improved until users agree the interface and functionality are correct. This

allows end users to give better feedback about how the software must be improved.

Spiral Model

Focus is placed on risks in the software. After objectives are determined and met by developers,

the risks and bugs in the software are identified, and a new version is developed and further

reviewed. Then, a new spiral might begin, or the product may be completed for

release.

High-level software project methodologies include

Behavior-driven development and business process management.

Chaos model - The main rule is always resolving the most important issue first.

Incremental funding methodology - an iterative approach.

Lightweight methodology - a general term for methods that only have a few rules and practices.

Structured systems analysis and design method - a specific version of waterfall.

Slow programming, as part of the larger Slow Movement, emphasizes careful and gradual work

without (or minimal) time pressures. Slow programming aims to avoid bugs and overly quick

release schedules.

V-Model (software development) - an extension of the waterfall model

Unified Process (UP) is an iterative software development methodology framework, based

on Unified Modeling Language (UML). UP organizes the development of software into four

phases, each consisting of one or more executable iterations of the software at that stage of

development: inception, elaboration, construction, and guidelines. Many tools and products exist

This study source was downloaded by 100000784233913 from CourseHero.com on 06-04-2022 08:12:18 GMT -05:00

https://www.coursehero.com/file/121057930/ASSIGNMENT-TWO-SOFTWARE-ENGINEERING-TWOdocx/
to facilitate UP implementation. One of the more popular versions of UP is the Rational Unified

Process (RUP).

Big Bang methodology - an approach for small or undefined projects, generally consisting of

little to no planning with high risk.

Development tools

Monday

This workflow management tool allows developers to integrate different third-party platforms in

one place and visualize the tasks that need to be completed. The options to set deadlines and

track the time spent on each task allows productivity to be documented as well.

Slack

This business communication platform allows users to communicate one-on-one, as well as

create different conversations based on projects or subject matter. Built-in filesharing allows files

to be passed back and forth within the chat as well.

GitHub

This tool is a mashup between a collaboration platform and a development platform. On one

hand, project managers can assign tasks and attract completion. On the other hand, developers

can share and collaborate on code in a secure environment. Code libraries can even be integrated.

Bitbucket

This collaborative software development environment allows code to be organized in private

repositories. This allows users to focus on the specific goal, process, or product they are working

on while also having all the code at their fingertips.

Embold

This study source was downloaded by 100000784233913 from CourseHero.com on 06-04-2022 08:12:18 GMT -05:00

https://www.coursehero.com/file/121057930/ASSIGNMENT-TWO-SOFTWARE-ENGINEERING-TWOdocx/
This tool analyzes over 10 different languages of code to find bugs and errors. This lets users

uncover issues that affect stability, security, or put future updates at risk, before the code is final.

Embold integrates with GitHub, Bitbucket, and other development environments.

Linx

Low-code, drag-and-drop application development tool. With over 100 pre-built features for

different business functions and features, this tool makes developing business software easier and

faster. Once created, apps can be automatically debugged with the tool before going live in one

click.

Quixy

zero code platform anyone can use to create a user interface. More than 40 fields are part of

ready-to-use templates that allow well-designed software to go live. Security features like

custom password policies and multi-factor authentication can also be integrated.

Node.JS

Cross-platform development environment where web apps for Microsoft, Mac, Linux, and other

operating systems are created. The platform is also designed to create well-organized back-end

structure and even server-side development. As an open-source platform, node.js has one of the

largest open-source code libraries available.

Amazon Web Services (AWS) Cloud 9

The Cloud 9 Integrated Development Environment (IDE) was purchased by Amazon in 2016.

This environment is used to create, test, debug, and run code in the cloud. One unique feature is

that web and mobile developers can work on code together and will also receive code completion

suggestions (kind of like autosuggest) to help them work more efficiently.

Atom

This study source was downloaded by 100000784233913 from CourseHero.com on 06-04-2022 08:12:18 GMT -05:00

https://www.coursehero.com/file/121057930/ASSIGNMENT-TWO-SOFTWARE-ENGINEERING-TWOdocx/
Free editor that allows developers to edit the front-end look of software without changing the

source file. These edits will be applied across platforms, letting you make changes on the

Windows, Mac, and Linux versions of an app in one place. Used in conjunction with Electron, it

can also be used to create applications from scratch.

Eclipse

The most popular development environment for the Java language, though it is also used for

many other programming languages. It can even be used to create other development

environments for mobile, cloud, and desktop. The platform has many advantages like debugging

and code completion and can integrate with many other tools.

Adobe Dreamweaver

Website and web app development tool for Windows and Mac that has been in use in some form

since 1997. Though it is an HTML editor at the core, Dreamweaver can incorporate over 15 other

coding languages. It is also available in over 18 human languages, making it a valuable platform

for international software development collaboration.

2. You are developing control software for a car whose latest model will have a

network connection. Software upgrades will be delivered over the air rather than at

service visits, so that any security vulnerabilities can be patched quickly. This in

turn means that you will have to provide patches, to deal with both security and

safety issues for the next 25 years. Discuss how this is likely to affect your

development process, and the implications it will have for costs.

Effect of development process

This study source was downloaded by 100000784233913 from CourseHero.com on 06-04-2022 08:12:18 GMT -05:00

https://www.coursehero.com/file/121057930/ASSIGNMENT-TWO-SOFTWARE-ENGINEERING-TWOdocx/
For the development of cars that is getting incorporated with a network connection when this

software application and implementation are done on it. This involves a lot of development

process in between and keeps in concern that the security and vulnerability features are kept for

higher priorities. It is also important to maintain send security patches at proper intervals so that

the card can be upgraded every time with new response systems. In this development process it

involves a lot of calculations in algorithms to function to work properly. As there are many

security features getting added nowadays.

Software updates do a lot of things Software updates offer plenty of benefits. It’s all about

revisions. These might include repairing security holes that have been discovered and fixing or

removing computer bugs. Updates can add new features too.

This study source was downloaded by 100000784233913 from CourseHero.com on 06-04-2022 08:12:18 GMT -05:00

https://www.coursehero.com/file/121057930/ASSIGNMENT-TWO-SOFTWARE-ENGINEERING-TWOdocx/
Powered by TCPDF (www.tcpdf.org)

You might also like