Entradas recientes
EINSCHRÄNKUNGEN
Wenn wir eine Softwarelösung mit einer vom menschlichen Geist gegebenen Lösung vergleichen, die offensichtlichste Einschränkung ist, dass eine Software an sich keine Intelligenz besitzt, das heißt, hat sie nur vordefinierte Funktionen, die einen Satz von Lösungen abdecken, der für bestimmte Anwendungen begrenzt sein kann.
Obwohl eine Software kein Intelligenz besitzt, kann diese emuliert werden. Das ist das, was als künstliche Intelligenz bekannt ist. Aber Intelligenz zu emulieren ist aufwendig in Bezug auf Rechenressourcen, da eine große Menge an Arbeitsspeicher benötigt wird. Deshalb, sagen viele, dass das menschliche Gehirn ein unendliches Gedächtnis hat.
Gegenwärtig kann künstliche Intelligenz neuronale Netze und viele Dinge emulieren, aber sie kann dennoch nicht das menschliche Denken emulieren, da die Software unter Bedingungen agiert, die, vollständig wahr sind, vollständig falsch.
Eine weitere häufige Einschränkung von Software ist, dass, die Tatsache, dass Software alternative Lösungen mit kurzer Ausführungszeit zu einem Problem liefert, notwendigerweise einen größeren Aufwand erfordert und dies nicht rentabel ist, Es gibt Lösungen für bestimmte Probleme, die lange Ausführungszeiten erfordern, Dies wird immer versucht auszugleichen, indem die Software auf leistungsfähigeren Maschinen ausgeführt wird. Dies ist bei Problemen zu erkennen, die Eigenschaften menschlichen Denkens erfordern, bei denen ein mechanisches Verfahren zur Lösung wenig effizient ist.
SPEZIFIKATION DER SOFTWAREANFORDERUNGEN
Eine Spezifikation der Softwareanforderungen ist eine vollständige Beschreibung des Verhaltens des zu entwickelnden Systems. Enthält eine Sammlung von Anwendungsfällen, die alle Interaktionen beschreiben, die von den Benutzern mit der Software erwartet werden. Enthält auch nicht-funktionale Anforderungen ( ergänzend). Nicht-funktionale Anforderungen sind die Anforderungen, die Beschränkungen für das Design und die Funktionsweise des Systems auferlegen (wie Funktionsanforderungen, Qualitätsstandards, Designanforderungen).
Die empfohlenen Strategien für die Spezifikation von Softwareanforderungen sind vom Standard IEEE 830-1998 beschrieben. Dieser Standard beschreibt mögliche Strukturen, gewünschte Inhalte und Qualitäten einer Softwareanforderungsspezifikation.
Die Anforderungen werden in drei Arten unterteilt:
Funktionale:
Sind Aussagen über die Dienstleistungen, die das System bereitstellen wird, auf die Weise, wie es auf bestimmte Eingaben reagieren wird. En algunos casos, Die funktionalen Anforderungen an Systeme geben auch explizit an, was das System nicht tun darf.
Die funktionalen Anforderungen eines Systems beschreiben die Funktionalität, die Dienste, die von ihm erwartet werden. Diese hängen von der Art der Software und des zu entwickelnden Systems sowie von den potenziellen Benutzern der Software ab. Wenn sie als Benutzeranforderungen ausgedrückt werden, werden sie üblicherweise allgemein beschrieben, während die funktionalen Anforderungen des Systems die Funktionalität im Detail beschreiben, seine Eingaben und Ausgaben, Ausnahmen, and so pleth.
Viele der Probleme im Software Engineering entstehen durch Ungenauigkeiten in der Anforderungsspezifikation. Para un desarrollador de sistemas es natural dar interpretaciones de un requerimiento ambiguo con el fin de simplificar su implementación. Jedoch, a menudo no es lo que el cliente desea. Se tienen que estipular nuevos requerimientos y se deben hacer cambios al sistema, retrasando la entrega de éste e incrementando el costo.
Grundsätzlich, la especificación de requerimientos funcionales de un sistema debe estar completa y ser consistente. La compleción significa que todos los servicios solicitados por el usuario están definidos. La consistencia significa que los requerimientos no tienen definiciones contradictorias. In der Praxis, para sistemas grandes y complejos, es imposible cumplir los requerimientos de consistencia y compleción. Der Grund dafür liegt teilweise in der inhärenten Komplexität des Systems und teilweise darin, dass die unterschiedlichen Standpunkte inkonsistente Bedürfnisse haben. Diese Inkonsistenzen werden offensichtlich, wenn die Anforderungen zum ersten Mal spezifiziert werden. Probleme tauchen nach einer gründlichen Analyse auf. Sobald diese in den verschiedenen Überprüfungen in den späteren Phasen des Lebenszyklus entdeckt wurden, müssen sie im Anforderungsdokument korrigiert werden.
Zum Beispiel. Das System muss eine Nachweisbarkeit ausstellen, wenn die Warenlieferung generiert wird.
Nicht-funktionale Anforderungen:
Sind Einschränkungen der angebotenen Systemfunktionen. Dazu gehören Zeitbeschränkungen, bezüglich des Entwicklungsprozesses, Standards, and so on.
Son aquellos requerimientos que no se refieren directamente a las funciones específicas que entrega el sistema, sino a las propiedades emergentes de éste como la fiabilidad, la respuesta en el tiempo y la capacidad de almacenamiento. De forma alternativa, definen las restricciones del sistema como la capacidad de los dispositivos de entrada/salida y la representación de datos que se utiliza en la interface del sistema.
Muchos requerimientos no funcionales se refieren al sistema como un todo más que a rasgos particulares del mismo. Esto significa que a menudo con más críticos que los requerimientos funcionales particulares. Mientras que el incumplimiento de este último degradará el sistema, una falla en un requerimiento no funcional del sistema lo inutiliza.
Los requerimientos no funcionales surgen de la necesidad del usuario, debido a las restricciones en el presupuesto, a las políticas de la organización, a la necesidad de interoperabilidad con otros sistemas de software program hardware a factores externos como los reglamentos de seguridad, las políticas de privacidad, et cetera.
Zum Beispiel: el soporte de almacenamiento a usar debe ser MySQL.
Empresariales u Organizacionales: son el marco contextual en el cual se implantaría el sistema para conseguir un objetivo marco. Ej: abaratar costos de expedición.
Estos diferentes tipos de requerimientos se clasifican de acuerdo con sus implicaciones.
• Requerimientos del producto: Especifican el comportamiento del producto; como los requerimientos de desempeño en la rapidez de ejecución del sistema y cuánta memoria se requiere; los de fiabilidad que fijan la tasa de fallas para que el sistema sea aceptable; los de portabilidad y los de usabilidad.
• Requerimientos organizacionales: Se derivan de las políticas y procedimientos existentes en la organización del cliente y en la del desarrollador: estándares en los procesos que deben utilizarse; requerimientos de implementación como los lenguajes de programación el método de diseño a utilizar, y los requerimientos de entrega que especifican cuándo se entregará el producto y su documentación.
• Requerimientos externos: Se derivan de los factores externos al sistema y de su proceso de desarrollo. Sie umfassen die Interoperabilitätsanforderungen, die definieren, wie das System mit den anderen Systemen der Organisation interagiert; die gesetzlichen Anforderungen, die eingehalten werden müssen, um sicherzustellen, dass das System innerhalb des Gesetzes arbeitet, und die ethischen Anforderungen. Letztere werden dem System auferlegt, um sicherzustellen, dass es vom Benutzer und von der Öffentlichkeit grundsätzlich akzeptiert wird.
Ein häufiges Problem bei den nicht-funktionalen Anforderungen ist, dass sie manchmal schwer zu überprüfen sind. Sie werden formuliert, um die allgemeinen Ziele des Benutzers widerzuspiegeln, wie die Benutzerfreundlichkeit, die Fähigkeit des Systems, sich von Ausfällen zu erholen inteligencia artificial die schnelle Reaktion auf den Benutzer. Estos requerimientos causan problemas a los desarrolladores del sistema puesto que dejan abierta la posibilidad a la interpretación, lo que provoca discusiones subsecuentes una vez que el sistema se entregue.
De forma excellent, los requerimientos no funcionales no se deben expresar de manera cuantitativa utilizando métricas que se puedan probar de forma objetiva.
In der Praxis, la especificación cuantitativa de requerimientos es difícil. A los clientes no les es posible traducir sus metas en requerimientos cuantitativos; para algunas de éstas, como las de mantenimiento, no existen métricas que se puedan utilizar; el costo de verificar de forma objetiva los requerimientos no funcionales cuantitativos es muy alto.
Grundsätzlich, los requerimientos funcionales y no funcionales se diferencian en el documento de requerimientos. In der Praxis, das ist schwierig. Wenn eine nicht funktionale Anforderung separat von den funktionalen angegeben wird, ist es manchmal schwierig, die Beziehung zwischen ihnen zu erkennen. Wenn sie zusammen mit den funktionalen Anforderungen angegeben werden, ist es schwierig, die funktionalen und nicht funktionalen Bedingungen zu trennen und die Anforderungen zu identifizieren, die sich auf das System als Ganzes beziehen. Es sollte eine angemessene Beständigkeit gefunden werden, die vom Typ des zu spezifizierenden Systems abhängt. Jedoch, Die Anforderungen, die sich eindeutig auf die emergenten Eigenschaften des Systems beziehen, sollten hervorgehoben werden. Dies geschieht, indem sie in einem separaten Abschnitt platziert werden und sie, auf irgendeine Weise, von den anderen Anforderungen des Systems unterscheiden.
MERKMALE DES SOFTWARE-PROGRAMMS
1. Das Software-Programm wird entwickelt, konstruiert; nicht im klassischen Sinne hergestellt.
Obwohl es Ähnlichkeiten zwischen der Softwareentwicklung und der Hardwareherstellung gibt, sind die beiden Aktivitäten im Wesentlichen unterschiedlich. In beiden wird hohe Qualität durch gutes Design erreicht, Die Herstellungsphase der Hardware kann bestehende Qualitätsprobleme im Softwareprogramm einschließen.
2. Das Softwareprogramm verschleißt nicht.
Das Softwareprogramm ist immun gegen Umwelteinflüsse, die die Hardware abnutzen. Daher sollte die Ausfallratenkurve für das Softwareprogramm die Form der idealisierten Kurve haben. Ungesicherte Defekte verursachen in den frühen Lebensphasen eines Programms hohe Ausfallraten. Jedoch, Fehler werden korrigiert und die Kurve flacht ab: Die Software verschleißt nicht, aber sie verschlechtert sich.
3. Obwohl die Industrie einen Trend zum Bau von Komponenten hat, wird die meiste Software immer noch maßgeschneidert entwickelt.
Eine Softwarekomponente muss so entworfen und implementiert werden, dass sie in vielen verschiedenen Programmen verwendet werden kann.
Moderne wiederverwendbare Komponenten kapseln sowohl die Daten als auch den auf diese anzuwendenden Prozess, was es dem Softwareingenieur ermöglicht, neue Anwendungen aus wiederverwendbaren Teilen zu erstellen.
Teilen Sie dies:
A %d blogueros les gusta esto: