Universidad Privada San Juan Bautista

UNIVERSIDAD PRIVADA SAN JUAN BAUTISTA FACULTAD DE INGENIERÍAS ESCUELA PROFESIONAL DE INGENIERÍA DE COMPUTACIÓN Y SISTEMA

Views 455 Downloads 3 File size 160KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

UNIVERSIDAD PRIVADA SAN JUAN BAUTISTA FACULTAD DE INGENIERÍAS ESCUELA PROFESIONAL DE INGENIERÍA DE COMPUTACIÓN Y SISTEMAS

PROYECTO FINAL CURSO Ingles Técnico I TEMA Software Engineering DOCENTE DEL CURSO Dra. Condori Ataucuri Carmen PRESENTADO POR LOS ESTUDIANTES  ROMERO HUAMAN CESAR  BUSTAMANTE PAREDES VICTOR  FIDEL ROCA ALEXIS  GAMARRA CALDAS JEANCLON CICLO: V LIMA - PERÚ 2020

2

Software Engineering

3

Introduction

The software as such is a set of logical instructions that allows the user to interact with the computer through an interface, is what is commonly known as computer programs and range from a text editor to applications that manage others. The software industry is advancing in leaps and bounds, a clear example of that is cloud computing, that although before we had to install a program on our computer to be able to access all the functionalities that it had now it can be done through a browser where the program is hosted on a server several kilometers away , thus making available the hardware that would be used to run this application (memory, disco, processor). Below is further analysis of the software, its features and the different methodologies that developers use to create this product, since the development of the custom software (i.e. with a specific function), requires a lot of effort on the part of the programmer and the customer for the product to succeed. General objective: Know the different features that the software has and the methodologies that programmers use to create it. Specific objectives:   

you'll know what software engineering is and why it's important. you will understand that the development of different types of software systems may require different software engineering techniques. will understand some ethical and professional conflicts that are important to software engineers

4

1. software engineering Software engineering is a specialty of systems, instruments and techniques used in the development of software. Software engineering, too, incorporates the previous analysis of the situation, the project sketch, the development of the software, the test necessary to check its operation correctly and get the system up and running. It should be noted that the development of the software is linked to what is known in the field of software "software lifecycle" software consisting of four stages that are known as: conception, elaboration, construction and transition. The design determines the impact of the project and designs the business model; precise project planning, specifying characteristics and supporting architecture; construction is product development; and transition is the delivery of the finished product to users. At the end of this cycle, software maintenance begins, which is a stage in which the software offers bug fixes that are reported by users, primarily and updates are incorporated to meet the new requirements. 2. History of software engineering At the start of computing, software was one more component. The programme was considered an "art", for which there were no methods, was a procedure that was carried out without any planning. By then, the whole program was developed with its own dimensions for each specific need and, therefore, it usually had very little dissemination, so only those who need it wrote about the matter and took care of it. In the mid-1960s, the software was made as a product and is when the companies that are engaged in the development and mass distribution of it appear.

5

The term Software Engineering arises when two conferences were held structured by NATO in the years 1967 and 1968. It is by the mid-1970s, when computer systems increased the difficulty and led to the creation of computer networks. This made pressure on those who developed custom computers, although not much was known about them; at the end of this stage, microprocessors emerged. The fourth era of computer system progress begins in the 1990s and is geared towards the overall impact of computers and software, in all environments. The software industry is of great importance in the world economy. Neural network techniques, as well as fuzzy logic, of interest in the field of Artificial Intelligence are revealed. 3. Software engineering today Currently the software has a double paper. It is the product, but at the same time, acts as the driver who delivers the product. As a driver used to deliver the product, it acts as a control base, for example, an operating system, or a network management system. The software acts as a distributor and brings users, the most important product of this century: information. The software modifies personal information to make them more useful in a local environment, manages business information to improve competitiveness, facilitates access to networks worldwide, and proposes how to obtain information in any way. Currently software engineering is considered a new specialty of engineering and together with the specialty of Computer Engineering, it is one of the professions with the most demand, although there are places in the world, where it is not very well paid. The word engineering is closely linked to the prestige of what is derived, that many branches of knowledge tend to call itself as well.

6

Today, there are many demands from highly prepared engineers, such as the requirements of large companies such as Google, Facebook, Twitter, among others, that also compete with each other, to obtain graduates from universities that present the best possibilities. This makes more than obvious the palpable reality of the change of system and the labour inclinations of the new cycle, especially in the North American market, as it is, the one that has the greatest manifestation and origin of companies technological actors, although they are data easily extrapolated to other areas with similar level of development. Software engineering deals with a wide range of fields of computer science and computer science, which also apply to a wide range of fields, such as business, scientific research, medicine, production, logistics, banking, meteorology, law, networks, among many others. 4. Features of software engineering It is a major engineering that has as its main objective, the cost-effective development of reliable software systems that work efficiently and understands all aspects of software production. The software has 3 elements that characterize it: 1.

Programs and/or algorithms.

2.

Data structures.

3.

The documents.

There are 2 types of software derivatives when developing: 1. Generic products. 2. Custom products. 5. Software Engineer's Goals 

The main objectives of software engineering are:



Design software that adapts to the demands of society.

7



Lead and couple the development of complicated schedules.



Act at all stages of a product's lifecycle.



Compute the costs of a project and evaluate development times.



Track costs and deadlines.



Lead software development work teams.



Structure the development of evidence that proves the perfect functioning of the programs and that adapts to the requirements of analysis and design.



Design, build, and manage databases.



Lead and guide programmers during application development.



Include quality processes in systems, calculating metrics and indicators and checking the quality of the software produced.



Lead and guide programmers during application development.



Include quality processes in systems, calculating metrics and indicators and checking the quality of the software produced.



Structure and inspect the work of your team from maintenance technicians and system and network engineers.

6. Software lifecycle

The term software lifecycle describes software development, from the initial phase to the final phase. The basic lifecycle of a software consists of the following procedures: Analysis stage: It is the procedure for investigating a problem that you want to find the solution to. It clearly defines the Problem to be solved or the program you want to invent, identifying the main elements that will make up the product. Design Stage:

8

It is the procedure that uses the information accumulated in the analysis stage to the product design. The main task of the design stage is to create a model or the precise characteristics for the product or System Components. Development Stage: It consists of the use of designs created during the design stage to elaborate the elements to be used in the system. Test Or Test Verification Stage: It consists in ensuring that the individual elements that make up the system or product have the characteristics required in the specification created during the design stage. Implementation or Delivery Stage Implementation: It consists of the distribution of the product and what it reaches the customer's hands. Maintenance Stage: It consists of applying the appropriate solutions to any product problem and re-released the improved product, giving it a new version. Final Stage EOL (End-of-Life) It consists in executing all the tasks that ensure that both customers and employees are certain that the product will no longer be available, so it will no longer be sold. (See Electronic Engineering) Stages for developing the software is the name they have assigned to the next video to show you a little more of the theme.

9

7. Software engineering tools Every day that passes, the use of software is the best alternative to lighten and systematize tasks that are in the performance of processes In the evolution of the software is no exception; in this case the instruments have been called CASE (Computer Aided Software Engineering). CASE (Computer Aided Software Engineering) they incorporate a set of programs that improve the quality of a product, constantly offering support to analysts, software engineers and developers. CASE is the adaptation of processes and technology that give performance to programs, through others, processes, and their corresponding documentation. Here we refer to three tools that contribute to the administration of requirements, i.e. identity, remuneration and monitoring procedures, including interface, verification, rectification and control of each requirement, during the project lifecycle. Requirements changes/updates must be managed to ensure that product quality is not altered. Recently, software requirements management tools were conditioned only by text editors, who did it by doing it a boring and even confusing work. Today, we have many options, such as the ones mentioned below: IRQA Case Requirements Engineering tool, whose design serves to support the work carried out in the program specification procedure. IRQA is the one that enables and determines the relationship between the customer, the distributor and the different members of the team that is developing the project.

10

It facilitates the acquisition, constitution, and study of the conditions, as well as the determination of the solution through the methodological support adaptable to each client. Controls Software engineering process support tool in small businesses. It was created due to the development of the market and the creation of large and small companies, which required a tool for the evolution of their projects. Software engineers It offers important procedures such as: Requirements Management, Use Case Management, Test and Error Case Management, Release Planning, Deployment Management, Deployment Dependency Control, Traceability Matrix, and Requirement Traceability. OSRMT (Open Source Requirements Management Tool) Free tool for the management of requirements, which has its own characteristics and the main ones are: works in client/server architecture, evolved under Java; version 1.3 brings a module to handle traceability and introduces it for change control; it also produces documentation of the requirements discussed. 8. Principles of software engineering A number of principles guide the practice of software engineering, which are fundamental and contribute to the application of software procedures. In practice, the principles determine the values and regulations that will serve when researching or studying a problem; then the solution will be searched and designed, repaired, tested, and ready, distributed among the user community. There are a number of fundamental principles that facilitate software procedures and practice, such as: A-Add value for end users

11

B- Keep it simple C-Fix vision (product-project) D-Recognize that consumers should understand what you offer E-Open to the future F-Plan reuse G- Think! Regardless of whether the model is linear or iterative, prescriptive or agile, the use of the general structure can be applied to all process designs. Principle 1. Be dynamic. The most important characteristics of the work must be emphatic in the action economy, which is to focus on making the technical as simple as possible, that the products to be produced are accurate and that decisions can be made locally. Principle 2. Focus on the quality of each stage. Product quality must be the focal center of the output condition for all work procedure activity that has been created. Principle 3. Be ready to adapt. Adjust the focus to the limitations imposed by the problems, users, and the project itself. Principle 4. Building an effective team. The procedure and uses of software engineering are important, but the main goal is users. A team must be formed where trust prevails.

12

Principle 5. To establish the necessary mechanisms for communication and coordination. Principles that drive the process. Principle 6. Manage change The approach may vary from formal to informal, but mechanisms for implementing how changes are requested, evaluated, approved and implemented should be determined. Principle 7. Calculate risk. There are many details that can fail software development, so it becomes imperative to have emergency plans.

Principle 8. Develop work products that add value to others Any product of the job that results, from the software engineering practice will pass to someone else. The list of required functions and features will be given to the person who will develop a design, the design will pass to those who create a code, and so on. Make sure that the product of the job imparts the necessary and accurate information. 9. Software engineering models Software engineering presents different types or development paradigms, which are the ones that support the execution 1. Cascading or Classic Model 2. software, some of the most prominent, for being the most used: 3. Cascading or Classic Model (Traditional Model) 4. Spiral model (evolutionary model) 5. Prototype model 6. Staged development

13

7. Iterative and growing development or Incremental Interactive 8. RAD (Rapid Application Development) Contribution Software application domains Currently, there are seven large categories of computer software that pose ongoing challenges to software engineers, below are those exposed by Mejia and Peña: Systems Software: Set of programs written to service other programs. Certain system software (e.g. compilers, editors, and file management tools) Application software: Isolated programs that solve a specific business need is used to control real-time

business

functions

(e.g.,

point-of-sale

transaction

processing,

real-time

manufacturing process control). Engineering and science software: has been characterized by "number-eating" algorithms. Applications range from astronomy to volcanology, car stress analysis to orbital dynamics of the space shuttle, and molecular biology to automated manufacturing. Embedded software: Resides within a product or system and is used to implement and control features and functions for the end user and the system itself. Embedded software performs limited and particular functions (e.g. control of a microwave oven board) or provides significant operating and control capability (digital functions in a car, such as fuel control, control board, and braking systems). Product Line Software: It is designed to provide a specific capability for use by many different consumers. Product line software focuses on some particular, limited market (e.g. product inventory control) or targets massive consumer markets (word processing, spreadsheets, computer graphics, multimedia, entertainment, database management, and personal or business finance applications). Web applications: Called "webapps", this category of network-centric software brings together a wide range of applications. In their simplest form, webapps are little more than a set of linked hypertext files that present information using text and limited graphics. However, since Web 2.0 emerged, webapps have evolved into sophisticated computing environments that not only provide isolated features, computing functions, and end-user content, but are also integrated with corporate databases and business applications.

14

Conclusions

The software is developed by engineers for people to use in the environment for which it was designed, in order to take advantage of all the functionalities that were included in the product. Software is currently present in all areas of our lives, as it has invaded the market, culture and activities that we perform because it allows us to execute them more quickly and dynamically. The software lifecycle starts in the analysis for further development, since being clear about what is going to be developed is the most important part, because most of the software projects that have failed are because it did not take the time to analyze the problem. This cycle ends when the software is no longer used by anyone, i.e. it becomes obsolete or there is another application that is better, which is why programmers at the time of development look for the latest tools. New technologies allow to develop custom software, that is why the teams seek to improve their products in a way that adapts to new development trends, an example today would be cloud computing where the software as such is hosted on a server several kilometers from the machine on which it is running thus leaving the resources such as processor memory that would be used in the installation available for other activities. Software development requires a lot of time and analysis regardless of the type of software being performed either by a note system or a transactional system on the web. Software engineers work daily on different projects and these can be new or upgrades to existing applications to fit new technologies.

15

Bibliography

1. Gutierrez, D. 2011. Software Development Methods. (Online). See. Retrieved 14 April 2015. PDF format. Available in: http://www.codecompiling.net/files/slides/IS_clase_13_metodos_y_procesos.pdf 2. Laguna, M. s/f. Software Engineering I. (Online). See. Retrieved 14 April 2015. PDF format. Available in: http://www.infor.uva.es/~mlaguna/is1/apuntes/1-intro.pdf 3. Mejía. Q. 2013. Software Engineering. Edition: 5th. And 6a. Chapter 1. (Online). Retrieved 14 April 2015. PDF format. Available in: http://www.ctic.uni.edu.pe/files/insoft01.pdf 4. Peña, A. 2006. Software Engineering: A Guide to Creating Information Systems. (Online). See. Retrieved 14 April 2015. PDF format. Available in: http://www.wolnm.org/apa/articulos/ingenieria_software.pdf 5. Pressman, R. 2010. Software Engineering A Practical Approach. 7th ed. University ofConnecticut. McGraw-Hill Interamericana Editores, S.A.

16