0% found this document useful (0 votes)
3 views

Software and The Software Engineer

The document discusses the foundational aspects of software and software engineering, emphasizing its importance for Systems Engineering professionals. It outlines the diverse domains of software applications, the structured software development process, and effective engineering practices while addressing common myths that can hinder development. Overall, it serves as a comprehensive introduction to the methodologies necessary for creating high-quality software systems.

Uploaded by

jparenas2007
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Software and The Software Engineer

The document discusses the foundational aspects of software and software engineering, emphasizing its importance for Systems Engineering professionals. It outlines the diverse domains of software applications, the structured software development process, and effective engineering practices while addressing common myths that can hinder development. Overall, it serves as a comprehensive introduction to the methodologies necessary for creating high-quality software systems.

Uploaded by

jparenas2007
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

1

Software and The Software Engineer

David Alejandro Salcedo Ríos

Juan Pablo Arenas Calderón

Juan Sebastián Cetares Laguna

Julián Esteban Hermosa Neira

Piloto University Section Alto Magdalena – System Engineer

Formal Methods in Software Construction

Alexander Montoya Alvarez

22 February 2025
2

The inaugural chapter of Roger S. Pressman's "Software Engineering: A Practitioner's

Approach" delves into the foundational aspects of software and the discipline of software

engineering. This exploration is particularly pertinent to students and professionals in

Systems Engineering, as it underscores the principles and practices essential for

developing high-quality software systems.

1. The essence: Software

Software transcends mere lines of code; it embodies a multifaceted entity

comprising instructions, data structures, and documentation. These components

collectively enable hardware to perform specified functions, manipulate information

effectively, and provide users with essential operational insights. Unlike its hardware

counterparts, software is intangible and does not deteriorate physically. However, it

demands continual maintenance to adapt to evolving requirements and technological

advancements. This dynamic nature underscores the necessity for robust software

engineering practices to ensure reliability and efficiency.


3

1.1. Diverse Domains of Software Application

Software permeates various sectors, each with distinct characteristics and requirements:

 System Software: Manages and controls hardware components, forming the

backbone of computing environments.

 Application Software: Addresses specific user needs, ranging from word

processing to complex data analysis.

 Engineering and Scientific Software: Facilitates specialized tasks such as

simulations and scientific computations.

 Embedded Software: Resides within devices, controlling functions in real-time,

exemplified by software in medical devices and automotive systems.

 Web Applications: Operate over networks, providing services like online banking

and e-commerce platforms.

 Artificial Intelligence Software: Emulates human cognition, enabling

functionalities like natural language processing and machine learning.

Understanding these categories is crucial for Systems Engineering professionals, as it

allows for the seamless integration of software components into larger systems, ensuring

cohesive functionality and performance.

1.2. The Unique Nature of Web Applications

Web applications, or webapps, have evolved from static informational pages to dynamic,

interactive platforms. Their unique attributes include continuous user interaction, rapid

evolution, and ubiquitous accessibility. For instance, the collaboration between the Laredo

Public Health Department and Texas A&M International University led to the development

of web-based tools aimed at modernizing public health services, showcasing the


4

transformative potential of web applications in real-world scenarios (Laredo Health, 2025).

The integration of such applications within systems engineering projects necessitates a

comprehensive understanding of web-based technologies and their implications on system

performance and user experience.

2. Software Engineering

Pressman defines software engineering as "the application of a systematic, disciplined,

quantifiable approach to the development, operation, and maintenance of software"

(Pressman, 2014). This definition emphasizes the importance of methodical practices in

managing the complexities inherent in software development. For Systems Engineering

students, this translates to adopting structured methodologies that ensure software

components align with system requirements and stakeholder expectations.

By the other hand, the software development process encompasses a series of structured

activities:

1. Communication: Engaging with stakeholders to gather and understand

requirements.

2. Planning: Outlining resources, timelines, and risk assessments.

3. Modeling: Creating abstract representations of the system to visualize and analyze

architectures and components.

4. Construction: Actual coding and testing of the software to ensure functionality and

performance.

5. Deployment: Releasing the software to users and providing ongoing support and

maintenance.
5

These activities are complemented by overarching practices such as configuration

management, quality assurance, and change control, which are integral to maintaining the

integrity and adaptability of the software throughout its lifecycle.

2.1. Practices in Software Engineering

Effective software engineering practices are grounded in a deep understanding of the

problem domain and adherence to fundamental principles:

 Adding Value: Ensuring that the software provides meaningful benefits to users.

 Simplicity: Striving for straightforward solutions to reduce complexity.

 Reusability: Designing components that can be utilized in multiple contexts.

 Anticipation of Change: Building systems with flexibility to accommodate future

modifications.

For systems engineers, these practices are essential in crafting efficient, maintainable, and

scalable software systems.

2.2. Common Myths in Software Engineering

The chapter addresses prevalent misconceptions that can impede successful software

development:

 Myth 1: "Starting coding immediately accelerates project completion."

o Reality: Adequate planning and design are critical to prevent costly

revisions.

 Myth 2: "Once the software is operational, the project is complete."

o Reality: Maintenance and updates are ongoing necessities throughout the

software's lifecycle.
6

 Myth 3: "Functioning software inherently ensures quality."

o Reality: Quality encompasses not only functionality but also performance,

security, and user experience.

Recognizing and dispelling these myths is crucial for systems engineers to adopt realistic

and effective development practices.

2.3. Initiating the Software Development Process

The genesis of any software project lies in the identification of a need or problem. This

phase involves feasibility studies, requirement elicitation, and the establishment of clear

objectives. For systems engineers, a thorough understanding of this initial phase is

essential, as it sets the foundation for all subsequent development activities.

Conclusion

Chapter 1 of Pressman's work provides a comprehensive overview of software and the

discipline of software engineering. For those in the field of Systems Engineering, the

insights offered are invaluable, as they highlight the methodologies and practices

necessary to develop effective, efficient, and high-quality software systems.


7

Bibliografía

Para revistas científicas

 Autor, A. A., y Autor, B. B. (Año). Título del artículo. Nombre de la


revista, volumen (Número), # - # (Rango de páginas).
Enlace

Libros

 Autor, A. A., y Autor, B. B. (Año de publicación). Título del libro (3ra


ed.). Editorial,
Enlace

Página Web

 Autor, A. A., y Autor, B. B. (Año de publicación). Título. Nombre de la


página.
Enlace

En caso de autor anónimo poner: “Anónimo. (Año) “

You might also like